欢迎来到天天文库
浏览记录
ID:13483516
大小:368.00 KB
页数:94页
时间:2018-07-22
《四川省计算机等级考试二级c语言机试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、四川省计算机等级考试二级C语言机试题(第十八次)2009-03-2916:31:31(第一套)(60分钟) 一、程序调试题(文件名test1-1.c)(40分) 磁盘上有一个名为testl-l.c的C程序文件,其功能是:计算并输出M以内最大的10个素数之和,M由主函数传给fun函数。例如:当M的值为100,则函数的值为732。调试程序使之能输出正确的结果。注意:可以增加和修改程序行,但不得删除程序中的整行。在一处增加的程序行不得超过两行。源程序如下:#include#includeintfun(intm);{ intsum,n=0,j,yes;
2、 while((m>=2)&&(n<10) { yes=0; for(j=2;j<=m/2;j++) if(m%j==0) { yes=0; break; } if(yes=1) { sum+=m;n++; m--; } } return;}main(){ intm; clrscr(); scanf("%d",m); printf("%d",fun(m));}二、编写程序(程序文件名为testl-2.c)(60分) 要求编写函数fun,其函数的功能是:根据形参m的
3、值(2<=m<=9),在m行m列的二维数组中存放如下所示的数据,由main函数输出结果。结果显示在屏幕上并送testl1-2·txt中保存。例如:如输入3 如输入5 则输出: 则输出:1 2 3 4 5 1 2 3 2 3 4 5 6 2 4 6 3 4 5 6 7 3 6
4、9 4 5 6 7 8 5 6 7 8 9 18-1套参考答案:一、程序调试题(文件名test1-1.c)(40分)#include#includeintfun(intm); /*去掉分号(;) */{ intsum,n=0,j,yes; /*改为sum=0 */
5、while((m>=2)&&(n<10) /*改为(n<10)) */ { yes=0; /*改为yes=1 */ for(j=2;j<=m/2;j++) if(m%j==0) { yes=0; break; } if(yes=1) /*改为yes==1 */ { s
6、um+=m;n++; m--; } } return; /*改为returnsum */}main(){ intm; clrscr(); scanf("%d",m); /*改为&m */ printf("%d",fun(m));}评分标准:每改对一处得5分,运行结果正确得5分。 二、编写程序(程序文件取名为test1-2.c)(60分)评分标准:1.文件打开与关闭正确
7、 10分 2.文件读写正确 10分3.函数及函数调用正确 20分 4.屏幕上显示结果正确 10分5.Test1-2.txt中结果正确 10分参考程序:#include#include#defineM10inta[M][M]={0};fm(inta[][M],intm){ intj,k; for(j=0;j
此文档下载收益归作者所有