【计算机类职业资格】二级C语言-359 (1)及答案解析.doc

上传人:registerpick115 文档编号:1325286 上传时间:2019-10-17 格式:DOC 页数:6 大小:31.50KB
下载 相关 举报
【计算机类职业资格】二级C语言-359 (1)及答案解析.doc_第1页
第1页 / 共6页
【计算机类职业资格】二级C语言-359 (1)及答案解析.doc_第2页
第2页 / 共6页
【计算机类职业资格】二级C语言-359 (1)及答案解析.doc_第3页
第3页 / 共6页
【计算机类职业资格】二级C语言-359 (1)及答案解析.doc_第4页
第4页 / 共6页
【计算机类职业资格】二级C语言-359 (1)及答案解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、二级 C 语言-359 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充 main()函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为 0 时结束。 例如,输入 1,2,3,5,4,7,0 时,最大的数为 7。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在 main()函数的横线上填入所编写出的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #includeconio.h #define M 100 v

2、oid main() int numM; int i=-1; int max=0; system(“CLS“); printf(“/nInput inleger number:/n“); do i+; printf(“num%d=“,i); scanf(“%d“, 1); max= 2numi:max; while( 3); printf(“max=%d/n“,max); (分数:30.00)二、程序改错题(总题数:1,分数:30.00)2.下列给定的程序中,函数 proc()的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。 请修改函数 pro

3、c()中的错误,使它能得出正确的结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h #includemath.h void proc(int num,int*b,int*c) int i,j,d,y; for(i=3;i=num/2;i=i+2) /*found* y=0; for(j=2;j=sqrt(double)i);j+) if(i%j=0)y=0; if(y=1) /*found* d=i-num; for(j=2;j=sqrt(double)d); j+) if(d%j=0)y=0; if(y=1) *b=i

4、;*c=d; void main() int num,b,c; do printf(“/nInput num:“); scanf(“%d“, while(num%2); proc(num, printf(“/n/n%d=%d+%d/n“,num,b,c); (分数:30.00)三、程序设计题(总题数:1,分数:40.00)3.编写函数 int proc(int lim,int aaM),该函数的功能是求出小于或等于 lim 的所有素数并放在 aa数组中,该函数返回所求出的素数。 例如,若输入 12 时,则输出:2 3 5 7 11。 注意:部分源程序给出如下。 请勿改动 main()函数和其他

5、函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includestdlib.h #includeiconio.h #includestdio.h #define M 100 int proc(int lim,int aaM) void main() int limit,i,sum; int arrM; system(“CLS“); printf(“输入一个整数“); scanf(“%d“, sum=proc(limit,arr); for(i=0;isum;i+) if(i%10=0 printf(“%5d“,arri); (分数:40.00)_二级 C

6、 语言-359 (1)答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充 main()函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为 0 时结束。 例如,输入 1,2,3,5,4,7,0 时,最大的数为 7。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在 main()函数的横线上填入所编写出的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #includeconio.h #define M 100 void m

7、ain() int numM; int i=-1; int max=0; system(“CLS“); printf(“/nInput inleger number:/n“); do i+; printf(“num%d=“,i); scanf(“%d“, 1); max= 2numi:max; while( 3); printf(“max=%d/n“,max); (分数:30.00)解析: for(i=3;i=num/2;i=i+2) /*found* y=0; for(j=2;j=sqrt(double)i);j+) if(i%j=0)y=0; if(y=1) /*found* d=i-nu

8、m; for(j=2;j=sqrt(double)d); j+) if(d%j=0)y=0; if(y=1) *b=i;*c=d; void main() int num,b,c; do printf(“/nInput num:“); scanf(“%d“, while(num%2); proc(num, printf(“/n/n%d=%d+%d/n“,num,b,c); (分数:30.00)解析:错误:y=0; 正确:y=1; 错误:d=i-num; 正确:d=num-i; 解析 由函数 proc()可知,变量 y 是判断小于 num/2 的整数中是否存在素数的标志,y=1 为找到所要的素数

9、,其初始值应该为 1,因此,“y=0;”应政为“y=1;”变量 num 为两个素数之和,变量 i 和 d 为要求的两个素数,因此,“d=i-num;”应改为“d=num-i;”。三、程序设计题(总题数:1,分数:40.00)3.编写函数 int proc(int lim,int aaM),该函数的功能是求出小于或等于 lim 的所有素数并放在 aa数组中,该函数返回所求出的素数。 例如,若输入 12 时,则输出:2 3 5 7 11。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includ

10、estdlib.h #includeiconio.h #includestdio.h #define M 100 int proc(int lim,int aaM) void main() int limit,i,sum; int arrM; system(“CLS“); printf(“输入一个整数“); scanf(“%d“, sum=proc(limit,arr); for(i=0;isum;i+) if(i%10=0 printf(“%5d“,arri); (分数:40.00)_正确答案:()解析:int proc(int lim,int aaM) int i,i,k=0; for(i=2;i=lim;i+) /小于或等于 lim 之间的数 for(j=2;j=i;j+) /判断其是否为素数 if(j%i=0)break; if(j=i) aak+=i; /如果是,则把其放到 aa 数组中 return k; /最后把数组的长度返回到主函数中 解析 首先判断小于等于整数 lim 的所有整数是否为素数,然后将一个素数放入数组 aa 中,最后将素数的个数返回给主函数。

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

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

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