【计算机类职业资格】二级C语言机试-250及答案解析.doc

上传人:李朗 文档编号:1325723 上传时间:2019-10-17 格式:DOC 页数:5 大小:30KB
下载 相关 举报
【计算机类职业资格】二级C语言机试-250及答案解析.doc_第1页
第1页 / 共5页
【计算机类职业资格】二级C语言机试-250及答案解析.doc_第2页
第2页 / 共5页
【计算机类职业资格】二级C语言机试-250及答案解析.doc_第3页
第3页 / 共5页
【计算机类职业资格】二级C语言机试-250及答案解析.doc_第4页
第4页 / 共5页
【计算机类职业资格】二级C语言机试-250及答案解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、二级 C语言机试-250 及答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)请补充 main()函数,该函数的功能是:打印出 110000 中满足个位数字的立方等于其本身的所有数。本题的结果为:1 64 125 216 729注意:部分源程序已给出。请勿改动主函数 main和其他函数中的任何内容。试题程序:#includestdlib.h#includestdio.hvoid main()int i, k;system(“CLS“);for(i=1; i10000; i+)k= (1) ;if( (2) )printf(“%4d“, i);(分数:

2、30.00)填空项 1:_填空项 1:_二、改错题(总题数:1,分数:30.00)1.下列给定的程序中,函数 proc()的功能是:计算并输出 m以内最大的 6个能被 7或 11整除的自然数之和。m 的值由主函数传入。例如,若 m的值为 600,则函数的值为 3515。请修改程序中的错误,使它能得到正确结果。注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。试题程序:#includestdlib.h#includestdio.h#includeconio.hint proc(int k)int m=0, mc=0;/*found*while(k=2)me+;k-;retu

3、rn m;void main()system(“CLS“);printf(“%d/n“, proc(600);(分数:30.00)填空项 1:_三、编程题(总题数:1,分数:40.00)2.编写一个函数,该函数可以统计一个长度为 2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为 abcdefabcdeabceabcdef,子字符串为 cd,则应当输出 3。注意:部分源程序已给出。请勿改动主函数 main和其他函数中的任何内容。试题程序:#includestdlib.h#includeconio.h#includestdio.h#includestring.hint proc(ch

4、ar * str, char * substr)void main()char str81, substr3;int n;system(“CLS“);printf(“输入主字符串: “);gets(str);printf(“输入子字符串: “);gets(substr);puts(str);puts(substr);n=proc(str, substr);printf(“n=%d/n“, n);(分数:40.00)_二级 C语言机试-250 答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)请补充 main()函数,该函数的功能是:打印出 11000

5、0 中满足个位数字的立方等于其本身的所有数。本题的结果为:1 64 125 216 729注意:部分源程序已给出。请勿改动主函数 main和其他函数中的任何内容。试题程序:#includestdlib.h#includestdio.hvoid main()int i, k;system(“CLS“);for(i=1; i10000; i+)k= (1) ;if( (2) )printf(“%4d“, i);(分数:30.00)填空项 1:_ (正确答案:i%10)解析:填空项 1:_ (正确答案:k*k*k=i)解析:解析 要得到个位数字的立方等于其本身所有数,首先要得 110000 中所有数

6、字的个位数。因此1处填 i%10;变量 k中存放每一个数字的个位数,要满足题目中要求,因此2k*k*k=i。二、改错题(总题数:1,分数:30.00)1.下列给定的程序中,函数 proc()的功能是:计算并输出 m以内最大的 6个能被 7或 11整除的自然数之和。m 的值由主函数传入。例如,若 m的值为 600,则函数的值为 3515。请修改程序中的错误,使它能得到正确结果。注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。试题程序:#includestdlib.h#includestdio.h#includeconio.hint proc(int k)int m=0,

7、mc=0;/*found*while(k=2)me+;k-;return m;void main()system(“CLS“);printf(“%d/n“, proc(600);(分数:30.00)填空项 1:_ (正确答案:(1)错误:while(k=2) n(mc6)正确:while(k=2)(mc6)(2)错误:if(k%7=0)|(k%11=0)正确:if(k%7=0)|(k%11=0)(3)错误:m=k;正确:m=m+k;)解析:解析 变量 k和 me分别存放的是主函数传递的 m的值和能被 7或 11整除的数的个数。因此条件k=2 和 mc6 必须同时成立。因此 while(k2)(

8、mc6)应改为 while(k=2)(mc6);在 C语言中,“=”是赋值符号,“=”是判断两个数是否相等的符号,因此 if(k%7=0)|(k%=0)应改为if(k%11=0)|(k%11=0);最终结果要求输出最大的 6个能被 7或 11整除的自然数之和并放在变量 m中,因此 m=k应改为 m=m+k。三、编程题(总题数:1,分数:40.00)2.编写一个函数,该函数可以统计一个长度为 2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为 abcdefabcdeabceabcdef,子字符串为 cd,则应当输出 3。注意:部分源程序已给出。请勿改动主函数 main和其他函数中的任

9、何内容。试题程序:#includestdlib.h#includeconio.h#includestdio.h#includestring.hint proc(char * str, char * substr)void main()char str81, substr3;int n;system(“CLS“);printf(“输入主字符串: “);gets(str);printf(“输入子字符串: “);gets(substr);puts(str);puts(substr);n=proc(str, substr);printf(“n=%d/n“, n);(分数:40.00)_正确答案:(int proc(char * str, char*substr)im i, j=0; /j表示其相同的个数for(i=0; stri+1!=/0; i+)if(stri=substrr0stri+1=substr1)/长度为 2的字符串在另一个字符串中出现的次数j+; /把其放到 j中return j; /最后把其个数返回到主函数中)解析:解析 要计算出主字符串中包含子字符串的个数,应该检查主字符串中从第一个到最后一个字符。每出现一个计数变量加 1,最后将得到的个数返回给主函数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1