二级C题库.docx
- 文档编号:10531491
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:77
- 大小:62.98KB
二级C题库.docx
《二级C题库.docx》由会员分享,可在线阅读,更多相关《二级C题库.docx(77页珍藏版)》请在冰豆网上搜索。
二级C题库
二级C语言上机考试复习资料
(前面为填空题题目,后面同序号依次为此套题的填空题、改错题、编程题答案)
前39套带*的为本次考试重点,共100套
*3、给定程序中,函数fun的功能是:
计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
例如,有10个正数:
4630324061745154826,平均值为:
30.500000
主函数中输出:
4632404548
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
3、
(1)0
(2)x[i]/N(3)j++
3、
(1)doublefun(intm)
(2)for(i=100;i<=m;i~1+=0)
3.fun(STUa[],STU*s)
{
inti;
*s=a[0];
for(i=1;i { if(a[i].s { *s=a[i]; } } } *5、给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。 例如,主函数中输入字符串: 32486和12345,在主函数中输出的函数值为: 44831。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 5、 (1)'0' (2)s++(3)ctod(a)+ctod(b) 5、 (1)voidfun(char*s,int*a,int*b) (2)++(*a);(3)++(*b); 5.floatfun(floath) { longi=h*1000; if(i%10<5)return(i/10)/100.0; elsereturn(i/10+1)/100.0; } *7、给定程序中,函数fun的功能是: 在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。 例如,有下列矩阵: 12134 78106 3597 程序执行结果为: find: a[2][2]=9请在程序的下划线处填入正确的内容。 7、 (1)j (2)0(3)i++ 7、 (1)for(i=2;i<=m;i++) (2)y-=1.0/i/i; 7.intfun(intscore[],intm,intbelow[]) { inti,j=0,s=0; for(i=0;i s/=m; for(i=0;i { if(score[i] { below[j]=score[i]; j++; } } returnj; } *9、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。 函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。 例如: a所指变量中的学号、姓名、和三门课的成绩依次是: 10001、"ZhangSan"、95、80、88,则修改后输出b中的数据应为: 10002、"LiSi"、95、80、88。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 9、 (1)a (2)b.name(3)score[i] 9、 (1)s[j++]=s[i]; (2)s[j]=0; 9.voidfun(char*a) { inti=0,j=0; while(a[i]) { if(a[i]! ='*') { j=i; break; } i++; } while(a[i]) { a[i-j]=a[i]; i++; } i-=j; for(;j>0;j--) { a[i]='*'; i++; } } *12、给定程序中,函数fun的功能是: 将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s所指字符串为: asd123fgh5##43df, 处理后新字符串为: 123543asdfgh##df。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 12、 (1)j (2)k(3)p 12、 (1)while(i (2)if(*a) 12.voidfun(char*s,chart[]) { inti=0,j=0; while(s[i]) { if(i%2! =0||s[i]%2==0) { t[j]=s[i]; j++; } i++; } t[j]=0; } *14、给定程序中,函数fun的功能是: 将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。 퓴例如,形参s所指的字符串为: abs5def126jkm8,程序执行后的输出结果为: 22。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 14、 (1)48 (2)s++(3)sum 14、 (1)if((k%13==0)||(k%17==0)) (2)} 14.doublefun(intn) { inti; doubles=0; for(i=1;i { if(i%3==0&&i%7==0)s+=i; } returnsqrt(s); } *17、给定程序中,函数fun的功能是: 计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正数: 4630324061745154826,平均值为: 30.500000 移动后的输出为: 4632404548306171526 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 17、 (1)s/N (2)j++(3)-1 17、 (1)#include"stdio.h" (2)upfst(char*p) 17.doublefun(intw[][N]) { doubles=0; inti; for(i=0;i s+=w[0][i]+w[N-1][i]+w[i][0]+w[i][N-1]; s-=w[0][0]+w[0][N-1]+w[N-1][0]+w[N-1][N-1]; returns/(N*4-4); } *19、给定程序中,函数fun的功能是: 在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。 ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 19、 (1)N (2)i(3)-1 19、 (1)a2=k/10; (2)returni; 19.voidfun(char*a) { inti=0,j=0; while(a[i]) { if(a[i]! ='*')j=0; elsej++; i++; } a[i-j]=0; } *20、得出给定程序中,函数fun的功能是: 找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序正确的结果。 20、 (1)a[0][i] (2)<(3)x,y 20、 (1)intfun(int*x,int*y) (2)t=*x;*x=*y;*y=t; 20.intfun(intlim,intaa[MAX]) { inti,j,k=0; for(i=2;i<=lim;i++) { for(j=2;j if(i%j==0)break; if(j==i) { aa[k]=i; k++; } } returnk; } *23、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。 函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。 例如: b所指变量t中的学号、姓名、和三门课的成绩依次是: 10002、"ZhangQi"、93、85、87,修改后输出t中的数据应为: 10004、"LiJie"、93、85、87。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 23、 (1)->sno (2)->name(3)&t 23、 (1)doublefun(doublea,doublex0) (2)if(fabs(x1-x0)>0.00001) 23.doublefun(STREC*a,STREC*b,int*n) { inti; doubles=0; for(i=0;i s+=a[i].s; s/=N; *n=0; for(i=0;i if(a[i].s>s) { b[*n]=a[i]; (*n)++; } returns; } *24、给定程序中,函数fun的功能是: 计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正数: 4630324061745154826,平均值为: 30.500000 移动后的输出为: 3061715264632404548 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 24、 (1)x[i]/N (2)j++(3)i++ 24、 (1)num[k]=0; (2)switch(*s) 24.intfun(inta[M][N]) { inti,s=0; for(i=0;i s+=a[0][i]+a[M-1][i]; for(i=1;i s+=a[i][0]+a[i][N-1]; returns; } *25、给定程序中,函数fun的功能是计算下式 例如,若形参e的值为1e-3,函数的返回值2.735678。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 25、 (1)0 (2)i++(3)2.*i 25、 (1)voidfun(char*s,char*t) (2)t[2*d]=0; 25.voidfun(char*s,chart[]) { inti=0,j=0; while(s[i]) { if(i%2==1&&s[i]%2==1) { t[j]=s[i]; j++; } } t[j]=0; } *26、给定程序中,函数fun的功能是建立一个N×N的矩阵。 矩阵元素的构成规律是: 最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。 例如,若N=5,生成的矩阵为: 11111 12221 12321 12221 11111 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 26、 (1)[N] (2)i(3)i+1 26、 (1)aa[i]=m%k; (2)printf("%d",aa[i-1]); 26.fun(char(*a)[81],intnum,char**max) { inti,j,k=strlen(a[0]); *max=a[0]; for(i=1;i { j=strlen(a[i]); if(k { k=j; *max=a[i]; } } } *31、给定程序中,函数fun的功能是: 计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。 例如,有10个正数: 4630324061745154826,平均值为: 30.500000 主函数中输出: m=30.0 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 31、 (1)*av (2)i(3)x[j] 31、 (1)floatfun(intn) (2)for(i=2;i<=n;i++) 31.intfun(inta[][N],intm) { inti,j; for(i=0;i for(j=i;j a[i][j]*=m; } *32、给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 32、 (1)FILE* (2)fp(3)ch 32、 (1)s[j++]=s[i]; (2)s[j]=0; 32.voidfun(char(*s)[N],char*b) { inti,j,k=0; for(i=0;i for(j=0;j { b[k]=s[j][i]; k++; } } *34、给定程序中,函数fun的功能是: 利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。 ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 34、 (1)i (2)ps[i](3)tp 34、 (1)doublefun(intn) (2)returnsum; 34.doublefun(doublex,intn) { inti; doublea=1,b=1,s=1; for(i=1;i<=n;i++) { a*=x; b*=i; s+=a/b; } returns; } *37、给定程序中,函数fun的功能是: 将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。 例如,输入一个数: 27638496,新的数: 为739。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 37 (1)10 (2)0(3)x 37 (1)if(n==0) (2)result*=n--; 37.longfun(char*p) { longi,s=0; if(p[0]=='-') { i=1; while(p[i]) { s=s*10+p[i]-'0'; i++; } s*=-1; } else { i=0; while(p[i]) { s=s*10+p[i]-'0'; i++; } } returns; } *38、给定程序中,函数fun的功能是: 找出100至x(x≤999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。 例如,当n值为500时,各位数字之和为15的整数有: 159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。 共有26个。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 38、 (1)0 (2)x(3)t++ 38、 (1)inti,sl; (2)t[i]=s[sl-i-1]; 38.voidfun(inta,intb,long*c) { *c=a/10*100+a%10+b/10*1000+b%10*10; } *39、给定程序中,函数fun的功能是: 判定形参a所指的N×N(规定N为奇数)的矩阵是否是"幻方",若是,函数返回值为1;不是,函数返回值为0。 "幻方"的判定条件是: 矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个"幻方": 492 357 816 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 39、 (1)0 (2)||(3)1 39、 (1)t-=1.0/i; (2)returnt; 39.intfun(char*str) { inti,k=0; char*p=str,s[81]; while(*p) {if(*p! ='')s[k++]=*p; p++; } for(i=0;i str[i]='\0'; } *41、给定程序中,函数fun的功能是: 调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 41、 (1)N (2)break(3)n 41、 (1)sum=0; (2)scanf("%d",&a[i][j]); 41.intfun(intarray[3][3]) { inti,j,t; for(i=0;i<3;i++) for(j=0;j {t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;} } *56、给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。 56、 (1)next (2)t->data(3)t 56、 (1)fun(char*a) (2)printf("%c",*a); 56.char*fun(char*s,char*t) { char*m,*n; m=s; n=t; while(*s&&*t) { t++; s++; } if(*t) returnn; elsereturnm; } *58、给定程序中,函数fun的功能是: 找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。 例如,当x值为5时,100~999之间各位上数字之和为5的整数有: 104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。 共有15个。 当x值为27时,各位数字之和为27的整数是: 999。 只有1个。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 58、 (1)999 (2)t/10(3)x 58、 (1)voidfun(longs,long*t) (2)while(s>0) 58.voidfun(STRECa[]) { inti,j; STRECb;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 题库