您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 二级C机试题(小的)
第1页共100页第1套1.程序填空题下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。【参考答案】(1)a[i](2)a[j](3)a[j]2.程序改错题下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……例如,若给n输入7,则该项的斐波拉契数值为13。【参考答案】(1)去掉分号(2)case1:case2:return1;3.程序设计题某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。【参考答案】voidfun(STREC*a){inti;(*a).ave=0.0;for(i=0;iN;i++)a-ave=a-ave+a-s[i];a-ave/=N;}第2页共100页第2套1.程序填空题下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9',则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。【参考答案】(1)char(2)ch='9'(3)'0'2.程序改错题下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。例如,若给a输入字符串:ABCDEFGKHIJK,调用函数后,字符数组b中的内容为:ABCDEFGHIJK。【参考答案】(1)b[k]=*p;(2)b[k]='';k++;3.程序设计题N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。例如,若学生的成绩是:8576698591726487,则平均分应当是:78.625。【参考答案】doublefun(STREC*h){doubleave=0.0;STREC*p=h-next;while(p!=NULL){ave=ave+p-s;p=p-next;}returnave/N;}第3页共100页第3套1.程序填空题下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长N。【参考答案】(1)M(2)(3)k2.程序改错题下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。例如,若输入Ab,cD,则输出AB,CD。【参考答案】(1)if((tt[i]=′a′)&&(tt[i]=′z′)(2)tt[i]-=32;3.程序设计题编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。例如,若输入17,则应输出:46891012141516。【参考答案】voidfun(intm,int*k,intxx[]){inti,j,n=0;for(i=4;im;i++){for(j=2;ji;j++)if(i%j==0)break;if(ji)xx[n++]=i;}*k=n;}第4页共100页第4套1.程序填空题下列给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。【参考答案】(1)j++(2)s[i]=t1[i](3)j2.程序改错题下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。【参考答案】(1)for(j=i+1;j6;j++)(2)*(pstr+i)=*(pstr+j);3.程序设计题编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。【参考答案】intfun(char*ss,charc){inti=0;for(;*ss!='\0';ss++)if(*ss==c)i++;returni;}第5页共100页第5套1.程序填空题下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。【参考答案】(1)x(2)p(3)s2.程序改错题下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。【参考答案】(1)longk=1;(2)num/=10;3.程序设计题编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。【参考答案】floatfun(float*a,intn){inti;floatav=0.0;for(i=0;in;i++)av=av+a[i];return(av/n);}第6页共100页第6套1.程序填空题下列给定程序中,函数fun的功能是计算如下公式12222213572462nnsn…-1直到3221102nn,并且把计算结果作为函数值返回。例如,若形参e的值为1e-3,则函数返回值为0.551690。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。【参考答案】(1)3.0(2)(3)(t+1)2.程序改错题下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。和值通过函数值返回。23581321,,,,,,1235813…例如,若n=5,则应输出8.391667。【参考答案】(1)doublefun(intn)(2)s=s+(double)a/b;3.程序设计题请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。【参考答案】intfun(inta[][M]){inti,j,max=a[0][0];for(i=0;i2;i++)for(j=0;jM;j++)if(maxa[i][j])max=a[i][j];returnmax;}第7页共100页第7套1.程序填空题下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。222221(21)1335572462nnsn…例如,当形参n的值为10时,函数返回值为9.612558。【参考答案】(1)0(2)n(3)(t*t)2.程序改错题下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。【答案】(1)for(i=0;str[i];i++)(2)if(substr[k+1]==′\0′)3.程序设计题编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。112123123412123353573573521nn…………程序运行后,若输入精度0.0005,则程序应输出为3.14…。【参考答案】doublefun(doubleeps){doubles=1.0,s1=1.0;intn=1;while(s1=eps){s1=s1*n/(2*n+1);s=s+s1;n++;}return2*s;}第8页共100页第8套1.程序填空题给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,若形参s所指的字符串为abcdef35adgh3kjsdf7,则输出结果为4。【参考答案】(1)s[i](2)'9'(3)*t=n2.程序改错题下列给定程序中函数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。【参考答案】(1)t=*x;*x=y;(2)return(t);或returnt;3.程序设计题编写函数fun,其功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。【参考答案】voidfun(int*a,int*n){inti,j=0;for(i=1;i=1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}第9页共100页第9套1.程序填空题下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。【参考答案】(1)1(2)j++(3)j2.程序改错题下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。【参考答案】(1)t=a;a=b;b=t;(2)return(b);3.程序设计题规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:ABCDEFG。【参考答案】voidfun(char*a){inti,j=0;for(i=0;a[i]!='\0';i++)if(a[i]!='*')a[j++]=a[i];a[j]='\0';}第10页共100页第10套1.程序填空题下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496,函数返回值为64862。【参考答案】(1)0(2)10*x(3)n/102.程序改错题下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为7531。【参考答案】(1)*t=0;(2)if(d%2!=0)3.程序设计题编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:FirstString--SecondString程序输出:FirstString--SecondString【参考答案】voidfun(charp1[],charp2[]){inti,j;for(i=0;p1[i]!='\0';i++);for(j=0
本文标题:二级C机试题(小的)
链接地址:https://www.777doc.com/doc-2746113 .html