二级C语言上机100题库.pdf
《二级C语言上机100题库.pdf》由会员分享,可在线阅读,更多相关《二级C语言上机100题库.pdf(108页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1题填空题给定程序中,函数fim的功能是:将形参n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回所指变量。例如,输入一个数:27638496,新的数:为 739。请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1 o C中。不得增行或删行,也不得更改程序的结构!答案:/*found*/t=*n%10;/*,遇*/if(t%2!=0)x=x+t*i;i=i*10;*n=*n/10;/*/*n=x;改错题给定程序MODI。C 中函数fun的功能是:计算n!。例 如,给 n
2、 输入5,则输出120。000000请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程答案:/*nd*!if(n=0)return 1.0;while(n 1&n next=NULL;fbr(i=l;idata=rand()%m;p-next=s;s-next=p-next;p=p-next;/*nd*/return h;程序编写请编写函数f u n,函数的功能是:统计一行字符创中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。注意:部分源程序存在文件PROG1.C
3、文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int fun(char*s)int k=1 ;while(*s)if(*s=,)k+;S+;return k;第 4 题填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和3 门课的成绩。所有学生数据以二进制方式输出的文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1。C 中。不得增行或删
4、行,也不得更改程序的结构!/*Cund*/fp=fbpen(filename,rb);fread(s,sizeof(STU),N,fp);fclose(fp);for(i=0;iN-l;i-H-)for(j=i+l;jsj.sno)t=si;si=sj;sj=t;fp=fbpen(filename,Hwbn);/*nd*/fwrite(s,sizeof(STU),N,fp);改错题给定程序M OD。C 中函数fUn的功能是:在字符串繁荣最前端加入n 个*号,形成新串。并覆盖原串。注意:字符串的长度最长允许为79。请改正函数fun中指定部位的错误,使它能得出正确的结果。/*nd*/P=s;for
5、(i=0;in;i+)ai=*;do ai=*p;i+;/*n d*/while(*p+);程序编写请编写函数f u n,函数的功能是:统计各年龄段的人数。N 个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把。至 9 岁年龄段的人数放在d2中,其余依次类推,把 100岁(含 1 0 0)以上年龄的人数都放在dl中。结果在主函数中输出。注意:部分源程序存在文件PROGLC文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。void fun(int*a,int*b)int i,j;fbr(i=0;i M;i+)bi=0;fbr(i=
6、0;i 10)bM-1+;else bj-H-;第 5 题填空题给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个的读入,并调用库函数atoi和 atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意源程序存放在考生文件夹下的BLANK1。C 中。不得增行或删行,也不得更改程序的结构!/*d*/FILE*fp;char str100,strl100,str2100;int al;double fl;fp=fopenCfilel.txt,w*);fjpr
7、intf(fp,%s%d%fnu,s,a,f);/*d*/fclose(fp);fp=fbpenCfilel.txt,V);/*Qund*/fscanf(fp,M%s%s%sn,str,strl,str2);改错题给定程序MODIlo C 中函数fun的功能是:对 N 名学生的学习成绩,按从高到低的顺序找出 前 m(m(=1 0)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构int i,j,k;/*n d*/t=(STU*)cal
8、loc(sizeof(STU),m);fbr(i=O;iN;i+)bi=ai;fbr(k=O;km;k+)for(i=j=0;ibj.s)j=i;/*found*/tk=bU;程序编写请编写函数f u n,函数的功能是:删除-维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,维数组中的数据是;2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数f
9、un的花括号中填入你编写的若干语句。int fun(int a,int n)int i,j=1,k=a0;for(i=1 ;i n;i+)if(k!=ai)a|j+=ai;k=ai;aj=O;return j;第 6 题填空题给顶程序中,函数fiin的功能是根据形参i 的值返回某个函数的值。当调用正确时,程序输出:x 1=5.000000,x2=3.000000,xl*xl+xl*x2=4.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存在考生文件夹下的BLANK1。C 中。不得增行或删行,也不得更改程序的结构!/*Qund*/double fu
10、n(int i,double x,double y)if(i=l)/*d*/return fl(x);else/*亭*亭*/return f2(x,y);改错题给定程序M OD。C 中函数ftin的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构 sl+;/*nd*/ss+;while(*tt)tl+;/*found*/tt+;程序编写请编写函数fu n,函数的功能是:移动字符串中的内容,移动的规则如下:把 第 1 到第m个字符,平移到字符串的最后,把第m+1
11、到最后的字符移动到字符串的前部。例如,字符串中原有的内容为:ABCDEFGHIJK,m 的值为3,则移动后,字符串中的内容应该是:DEFGHIJKABC。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语int i;char t;t=wO;fbr(i=O;istrlen(w)-l;i+)wi=wi+l;wstrlen(w)-l=t;第 7 题填空题程序通过定义并赋值的方式,利用结构体变量存储了名学生的信息。函数fu n 的功能是输出这位学生的信息。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的
12、结果。注意:源程序存在考生文件夹下的BLANK1。C 中。不得增行或删行,也不得更改程序的结构!/*d*/void show(STU tt)int i;printf(nn%d%s%c%d-%d-%dn,tt.num,tt.name,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);fbr(i=O;i3;i+)/*d*/printf(n%5.1f*,tt.scorei);printf(HnM);main()STU std=l,Zhanghua,M,1961,10,8,76.5,78.0,82.0;printf(nA studen
13、t data:n);/*砧und*/show(std);改错题给定程序M OD。C 中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和 a0中的数对调、次最大数和al中的数对调。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!fbr(i=0;i2;i+)/*found*/m=i;for(k=i+l;kam)m=k;程序编写请编写一个函数unsigned fiin(unsigned w),w 是一个大于10的无符号整数,若 w是 n(n=2)位的整数,函数求出w 的低n-1位的数作为函数值返回。例如:w 值为5 9 2 3,
14、则函数返回923;w 值为923则返回23。注意:部分源程序存在文件PROGLC文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。if(w10000)w%=10000;else if(w 1000)w%=1000;else if(w100)w%=100;else if(w10)w%=10;return w;第 8 题填空题给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓 名 和 3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源
15、程序存在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/*found*/void modify(STU*ss,float a)int i;fbr(i=0;iscorei*=a;main()STU std=l,Zhanghuan,76.5,78.0,82.0;float a;printf(nnThe original number and name and scores:n);show(std);printf(MnInput a number:”);scanff%F,&a);/*found*/modify(&std,a);改错题long fun(int k)/*Sund
16、*/if(k0)return(k*fun(k-l);/*八 d*/else if(k=0)程序编写程序定义了 NXN的二维数组,并在主函数中自动赋值。请编写函数fun(intaN,intn),函数的功能是:使数组左下三角元素中的值乘以n。例如:若 n 的值为3,a 数组中的值为则返回主程序后a 数组中的值应为。注意:部分源程序存在文件PROG 1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int i,j;fbr(i=0;i N;i+)for(j=0;jnext;/*un d*/while(q)if(p-data q-data)t=p-
17、data;p-data=q-data;q-data=t;q=q-next;/*found*/p=p-next;改错题给定程序MODI1。C 中函数fun的功能是:将 s 所指字符串中的字母转换为按字母序列的后续字母(但Z 转换为A,z 转换为a),其它字符不变。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/*砧und*/while(*s)if(*s-A*&*s-a*&*s=z,)if(*s=T)*s=A;else if(*s=,z,)*s=,af;else*s+=1;/*Cund*/s-H-;程序编写标从0 到 p(
18、含p,P 小于等于n-1)的数组元素平移到数组的最后。例如,-一 维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p 的值为3。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int i,j=0,bN;for(i=p+1 ;i n;i+)bj-H-=wi;fbr(i=0;i=p;i+)bj+=wi;for(i=0;i n;i+)wi=bi;第 10题填空题给定程序中,函数fhn的功能是:判定形参的NXN(规定N 为奇数
19、)的矩阵是否是 幻方,若是,函数返回值为1;不是,函数返回值为0。幻方 的判定条件是:矩阵每行、每列、主对角线及反对角线上的元素之和都相等。例如,以下3X3的矩阵就是一个 幻方:请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。源程序存在考生文件夹下的BLANK1。C 中。不得增行或删行,也不得更改程序的结构!/*必u n d */r o w=c o l u m=0;f o r(j=0;j N;j-H-)r o w+=a i j ;c o l u m+=a j i ;/*n d */i f f (ro w!=c o l u m)|(ro w!=m l)re tu rn 0;
20、/*f o u n d*/re tu rn 1;改错题给定程序M 0DI 1。C中函数f ti n的功能是:根据整数形参m,计算如下公式的值。例如,若主函数中输入5,则应输出-0.2 8 3 3 3 3。请改正函数f u n中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动m a i n函数,不得增行或删行,也不得更改程序的结构!f b r(i =2;i next;/*nd*/if(p=0)return;q=p-next;p-next=NULL;while(q)r=q-next;q-next=p;/*found*/p=q;q=r;改错题给定程序MODI1.C中
21、函数fun的功能是:计算s 所指字符串中含有t 所指字符串的数目,并作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果;注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/*d*/r=t;while(*r)if(*r=*p)r+;p+;else break;/*f)und*/iR*r=0)程序编写请编写函数fiin,函数的功能是:将放在字符串数组中的M 个字符串(每串的长度不超过 N),按顺序合并成一个新的字符串,函数fun中给出的语句仅供参考;例如,字符串数组中的M 个字符串为AAAABBBBBBBCC则合并后的字符串的内容是:AAAABBBBBBBCCo
22、提示:strcat(a,b)的功能是将字符串b 复制到字符串a 的串尾上,成为一个新串。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它汉书中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/*以下代码仅供参考*/int i;*b=0;for(i=0;inext;p-next=NULL;while(q)/*/r=q-next;q-next=p;p=q;/*found*/q=r;改错题给定程序MODIl.C中,函数fUn的功能是:将 s 所指字符串中位于奇数位置的字符或ASC11码为偶数的字符放入t 所指数组中(规定第一个字符放在第0 位中);例如:字符串中的数据
23、为:AABBCCDDEEFF,则输出结构应该是:ABBCDDEFF;请改正函数fun中指定部位的错误,是它能得出正确的结果,注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/*un d*/if(i%2|si%2=0)tj+=si;/*found*/3=%;程序编写请编写函数fU n,函数的功能是:将 M 行 N 列的二维数组中的数据,按列的顺序依次放到一维数组中,函数fun中给出的语句仅供参考。例如:二维数组中的数据为:334455334455334455334455则一维数组中的内容应该是:33 44 55 33 44 55 33 44 55 33 44 55注意:部分源程
24、序在文件PROGLC中。请勿改动主函数main和其他函数中的任何内容,仅在函数fiin的花括号中填入你编写的若干语句。/*以下代码仅供参考*/int ij,np=0;/*np用作b 数组下标*/for(i=0;i nn;i-H-)fbr(j=0;j next;while(p)i f(p-data%2=0)sum+=p-data;/*n d */p=p-next;程序编写请编写函数f u n,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:Y E S,否则返回0,主函数中输出:NO。回文是指顺读和倒读都一样的字符串。例如:字符串LEVEL是回文,而字符串123312就不是回文
25、。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数种的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int fun(char*str)int i,j=strlen(str);for(i=0;i j/2;i+)if(stri!=strj-i-1)return 0;return 1 ;第 15题填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和3 门课的成绩,所有学生数据均以二进制方式输出到student.dat文件中,函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数都加三分,修改后重写文件中该学生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 100 题库
限制150内