2017年全国计算机等级考试C语言上机考试题库 - 21-40套

上传人:灯火****19 文档编号:121893913 上传时间:2020-02-27 格式:DOC 页数:73 大小:221.01KB
返回 下载 相关 举报
2017年全国计算机等级考试C语言上机考试题库 - 21-40套_第1页
第1页 / 共73页
2017年全国计算机等级考试C语言上机考试题库 - 21-40套_第2页
第2页 / 共73页
2017年全国计算机等级考试C语言上机考试题库 - 21-40套_第3页
第3页 / 共73页
2017年全国计算机等级考试C语言上机考试题库 - 21-40套_第4页
第4页 / 共73页
2017年全国计算机等级考试C语言上机考试题库 - 21-40套_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《2017年全国计算机等级考试C语言上机考试题库 - 21-40套》由会员分享,可在线阅读,更多相关《2017年全国计算机等级考试C语言上机考试题库 - 21-40套(73页珍藏版)》请在金锄头文库上搜索。

1、2017年全国计算机等级考试C语言上机考试题库学生练习用第21套至第40套第二十一套1、程序填空给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。例如,形参s所指的字符串为abs5def126jkm8,程序执行后的输出结果为22。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!-#include #include #include int fun(char *s) int sum=0; while(*s) /*found*/

2、if( isdigit(*s) ) sum+= *s- _1_ ;/*found*/ _2_; /*found*/ return _3_ ;main() char s81; int n; printf(nEnter a string:nn); gets(s); n=fun(s); printf(nThe result is: %dnn,n);-【参考答案】(1)48 (2)s+ (3)sum【解题思路】本题是把字符串中是数字字符转换成对应的数值并进行累加。填空1:0字符对应的ASCII码值是48,因此数字字符转换成对应数值时只要减去48,即是该数字字符对应的数值,所以应填48。填空2:判断完一

3、个字符之后,将字符串指针移到下一个位置,所以应填s。填空3:返回累加和sum,所以应填sum。2、程序修改下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数的值为4622。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!-#include #include #include int fun(int k) int m=0,mc=0, j; while(k=2)&(mc10) /*found*/ if(k%13=0

4、)|(k%17=0) m=m+k;mc+; k-;/*found*/ return m;void main()system(CLS); printf(%dn ,fun(500);-【参考答案】(1)if(k%13=0)|(k%17=0)(2) return m;【解题思路】(1)C语言中,x能被y整除的表示方法是x%y0,而不是题目中所表示的x%y0。所以,if(k%130)|(k%170)修改后的结果应该是答案所示信息。(2)程序中缺少程序完整所需的,此类信息在做题时一定要注意,可以在做题前先运行一下程序,这样明显的错误一般都会有错误信息显示出来。比如丢失的错误信息是Compound sta

5、tement missing in function fun。3、程序设计编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。例如,若n为1000时,程序输出应为:s153.909064。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。-#include #include double fun( int n)main() /* 主函数 */ void NONO (); printf(s =%fn, fun ( 1000) ); NONO();void NONO

6、()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i, n ; double s; fp = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(fp, %d, &n) ; s = fun(n) ; fprintf(wf, %fn, s) ; fclose(fp) ; fclose(wf) ;-【参考答案】 double fun(int n) double sum=0.0; int i; for(i=21;i=n;i+) if(i%3=

7、0)&(i%7=0) sum+=i; return sqrt(sum); 【解题思路】本题考查算术运算的算法,首先利用一个for循环判断小于n且能同时被3和7整除的整数,并将满足条件的整数累加到sum,之后调用sqrt函数计算sum的平方根,并作为函数的返回值。第二十二套1、程序填空给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。例如,形参s所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:lettera:3timesletters:3times请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果

8、。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!-#include #include #include void fun(char *s) int k26=0,n,i,max=0; char ch; while(*s) if( isalpha(*s) ) /*found*/ ch=tolower(_1_); n=ch-a;/*found*/ kn+= _2_ ; s+;/*found*/ if(maxkn) max= _3_ ; printf(nAfter count :n); for(i=0; i26;i+) if (ki=max) printf(nlett

9、er %c : %d timesn,i+a,ki);main() char s81; printf(nEnter a string:nn); gets(s); fun(s);-【参考答案】(1)*s (2)1 (3)kn【解题思路】本题统计字符串中各字母的个数,建立了一个包括26个整型变量的数组,用来存储每个字母的个数。填空1:isalpha函数的作用是判断当前字符是否为字母,tolower函数的作用是将当前字母转换为小写字母,所以应填*s。填空2:把该字母出现的个数累加到指定的数组中,所以应填1。填空3:max用来记录出现次数最高的字母的出现次数,如果当前该字母出现次数大于最大次数max,那么把该次数赋值给max,所以应填kn。2、程序修改下列给定程序中,函数fun的功能是:求S的值。 例如,当k为10时,函数的值应为1.533852。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!-#include #include #include #include /*found*/fun(int k) int n; float s, w, p, q; n=1; s=1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号