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

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

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2017年全国计算机等级考试C语言上机考试题库-21-40套

2017年全国计算机等级考试C语言上机考试题库 学生练习用第21套至第40套 第二十一套 1、程序填空 给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。 例如,形参s所指的字符串为abs5def126jkm8,程序执行后的输出结果为22。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! ----------------------------------------------------------------------------------------------------------------- #include stdio.h #include string.h #include ctype.h int fun(char *s) { int sum=0; while(*s) { /**********found**********/ if( isdigit(*s) ) sum+= *s- __1__ ; /**********found**********/ __2__; } /**********found**********/ return __3__ ; } main() { char s[81]; int n; printf(\nEnter a string:\n\n); gets(s); n=fun(s); printf(\nThe result is: %d\n\n,n); } ----------------------------------------------------------------------------------------------------------------- 【参考答案】 (1)48 (2)s++ (3)sum 【解题思路】 本题是把字符串中是数字字符转换成对应的数值并进行累加。 填空1:0字符对应的ASCII码值是48,因此数字字符转换成对应数值时只要减去48,即是该数字字符对应的数值,所以应填48。 填空2:判断完一个字符之后,将字符串指针移到下一个位置,所以应填s++。 填空3:返回累加和sum,所以应填sum。 2、程序修改 下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数的值为4622。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构! ----------------------------------------------------------------------------------------------------------------- #include stdio.h #include conio.h #include stdlib.h int fun(int k) { int m=0,mc=0, j; while((k=2)(mc10)) { /*************found**************/ if((k%13=0)||(k%17=0)) { m=m+k;mc++;} k--; /*************found**************/ return m; } void main() {system(CLS); printf(%d\n ,fun(500)); } ----------------------------------------------------------------------------------------------------------------- 【参考答案】 (1)if((k%13==0)||(k%17==0)) (2)} return m; 【解题思路】 (1)C语言中,x能被y整除的表示方法是x%y==0,而不是题目中所表示的x%y=0。所以,if((k%13=0)||(k%17=0))修改后的结果应该是答案所示信息。 (2)程序中缺少程序完整所需的},此类信息在做题时一定要注意,可以在做题前先运行一下程序,这样明显的错误一般都会有错误信息显示出来。比如丢失}的错误信息是Compound statement missing } in f

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档