- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2011年10月16日江苏省高校计算机等级考试C语言上机题及其参考答案_张柏雄
【对2011年10月16日江苏省高校计算机等级考试C语言上机题的评价:】
经过对C01和C02两套上机题的分析和考生现场考试状态观察,本次上机考试的难度与2011春相比有所下降,具体分析总结如下:
1、 改错题难度下降幅度较大;
2、 从考生上机完成的情况来看,C01试卷难度低于C02:
C01考场,凡是经过江苏省高校计算机C上机题多次模拟练习者都提前完成了上机考试;
C02考场,大多数对完成上机题感到有一定难度:对于改错题,由于命题违背了“不能增加其它语句,也不能删去整条语句”的命题规定,学生按照规定,调不出正确答案(见后分析);对于编程题,考生如果参考了网上“★预测计算机等级考试的C语言上机编程题(矩阵)_张柏雄.doc”一文,C02编程题采用比较简易的、占用内存较多的方法,就很快做出来了(见下面C02题解和说明);
3、 与2011年秋全国计算机C语言的上机题(网上“★2011年9月17日全国计算机等级考试C语言十道上机题及其解析_张柏雄.doc”)相比,难度差不多,但如果不熟悉全国计算机C语言的上机题命题思路,则感觉全国更难;同样,在高校“C语言程序”课中不对江苏省高校计算机考试C的上机题进行多次模拟练习,则对江苏省题也是一筹莫展,难以取得理想的成绩。
【注意事项】C语言两套原始素材,“★2011秋江苏省高校计算机C语言模拟考试环境的两套上机题汇总.rar”,存储在“”网站上,可点击“点击这里查看该用户更多公开文件...”,读者可免费上网下载其中文件进行模拟考试环境练习(进入“练习”模式,帐户名及密码均为“01024000000”)。
【评者简介】苏州科技学院天平学院老师张柏雄(uuxzhang@21)。QQ:1035986156
【C01原始题目】
江苏省高等学校非计算机专业学生
计算机基础知识和应用能力等级考试上机试卷(2011秋)
二级 C语言(试卷代号C01)
(本试卷完成时间 70分钟)
一、 改错题(16分)
【程序功能】
验证猜想:当f为41,x分别取1、2、3、4、…、40时,由多项式x2-x+f产生的数均为素数。
以下程序首先用多项式x2-x+f产生40个整数存放在a指向的数组中,然后判断a数组中各元素的值是否均为素数,如果是则输出“YES”,并将a指向的数组中的素数按每行10个数的形式输出“NO”。
【测试数据与运行结果】
屏幕输出:
YES
41 43 47 53 61 71 83 97 113 131
151 173 197 223 251 281 313 347 383 421
461 1033 1097 1163 1231 1301 1373 1447 1523 1601
【含有错误的源程序】
#include stdio.h
#include conio.h
int allprime(int n, int a[])
{ int i,j,b[];
for(i=0;in;i++)
{ b[i]=1;
for(j=1;ja[i]/2;j++)
if(a[i]%j==0) b[i]=0;
}
for(i=0;in;i++)
if(0=b[i])
return 0;
return 1;
}
void main()
{ int i,j,x0=1,x1=40,f=41,a[40];
for(j=x0;j=x1;j++)
a[j-1]=j*j-j+f;
j--;
if(allprime(j,a[]))
{ printf(\nYES\n);
for(i=0;ij;i++)
{ printf(%d\t,a[i]);
if((i+1)%10==0) printf(\n);
}
}
else
printf(\nNO\n);
getch();
}
【要求】
1. 打开T盘中myfl.c或将上述程序录入到myfl.c文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。
3. 改正后的源程序(文件名myfl.c)保存在T盘的根目录中供阅卷使用,否则不予评分。
二、编程题(24分)
【程序功能】
在已有的一份姓名登记表中删除重复出现的姓名,输出处理后和姓名登记表。
【编程要求】
1、编写函数int del_name(cha
文档评论(0)