★2014年10月19日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄_第1页
★2014年10月19日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄_第2页
★2014年10月19日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄_第3页
★2014年10月19日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄_第4页
★2014年10月19日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2014年10月19日江苏省高校计算机等级考试二级c语言1套上机题(c01)及其解答对面 第一页主界面目录c01(上午8:00-9:10) 原题 解答附录:通用的自编函数2014秋江苏省高校计算机二级c语言上机考试的点评1、 总评价:本轮江苏省高校上机题目c01难度比历届下降。这次考试,有些考生仍维持惯性思维,导致缺考率较大(参加笔试人数为报名人数15%;参加上机考试人数为为报名人数10%),非常可惜。此次上机命题的难度系数与全国计算机等级考试二级c语言接近。况且,江苏省高校计算机考试由笔试120分钟和上机考试70分钟组成,时间长达三个多小时,远超全国计算机考试时间,只要有充分准备,江苏省通过

2、率不会比全国的差。2、 对参加江苏省高校计算机二级c语言考试的考生建议:需要对c语言编程的特点熟悉:程序模块化;通用函数要熟记(通用素数判别、通用的回文数、回文素数、回文字符串、简单排序法、多项式部份和;闰年运算;求根等);掌握文件输出操作标准形式(见附录:通用的自编函数部份)。3、 今后江苏省高校计算机二级c语言上机编程题可能出题有四大范围:字符串处理:2013春、2013秋c02、2014春c01素数处理:2012秋、2013秋c01 矩阵处理:2012春特殊数处理(初等数学:合数、真因子或质因子之和、3位和4位陷阱数、水仙花数、亲密数、完数、自我数、数制转换、哥德巴赫猜想等):这也是历年

3、关注最多的出题方向。2014春c02套编程题属于此种类型(排列与组合)。详情可分别参阅:豆丁网上:预测计算机等级考试的c语言上机编程题之二_矩阵_张柏雄.doc、预测江苏省高校计算机二级c考试上机编程题之三_素数_张柏雄.doc、预测江苏省计算机c语言等级考试的八道上机编程题之一_特殊数_张柏雄.doc和预测江苏省计算机c语言等级考试的八道上机编程题之四_字符串处理_张柏雄.doc以及豆丁网上发布的历年的考题:/mydoc-6060748-1.html&folderid=151982苏州科技学院 张柏雄() qq:10359

4、86156江苏省高等学校非计算机专业学生(c01)计算机基础知识和应用能力等级考试上机试卷(2014秋)二级 c语言(试卷代号c01)(本试卷完成时间 70分钟)一、 改错题(16分)【程序功能】一个公司有4名销售员(工号14),他们都销售5种产品(产品编号为15)。每个销售员每天都要为售出的每种产品交一张卡片,卡片内容包含:销售员工号、销售产品编号和该销售员当天销售该产品的销售额。函数count首先依据s指向的数组中存储的n张卡片数据统计每个销售员销售每种产品的销售总额,并将统计结果存储在二维数组st中;然后统计每种产品的销售总额、每个销售员的销售总额及5种产品的销售总额。【测试数据与运行结

5、果】屏幕输出:code saleman-1 saleman-2 saleman-3 saleman-4 sum 1 5600.90 3500.00 2300.60 780.50 12182.00 2 2400.00 7000.00 1200.90 0.00 10600.90 3 1080.50 320.60 1468.00 560.00 3429.10 4 2100.00 650.90 350.40 0.00 3101.30 5 3050.85 0.00 1800.80 8900.00 13751.65 14232.25 11470.50 7120.70 10240.50 43064.95【含

6、有错误的源程序】以下源程序已保存在t盘myf1.c文件内,考生可直接打开该文件测试程序。#include #include typedef struct int salesmanid; /*销售员工号*/ int productcode; /*销售的产品编号*/ double dailysalesamount; /*销售总额*/ cardvoid count(card *s, int n, double st5) int i,j,id,code; for(i=0; in;i+) id=si.salesmanid-1; code=ductcode-1; stcodeid+=si.da

7、ilysalesamount; for(i=0;i5;i+) for(j=0;j4;j+) sti4+=stij; for(j=0;j5;j+) for(i=0;i5;i+) st5i+=stij;int main() card saleslist=1,1,5600.9, 1,5,3050.85, 1,3,980.5, 2,2,7000, 2,1,3500, 2,4,450.9, 2,3,320.6, 4,5,8900, 4,1,780.5, 4,3,560, 3,1,2300.6, 3,2,1200.9, 3,5,1800.8, 3,3,268.0, 3,4,350.4, 1,4,2100,

8、 1,2,2400, 1,3,100, 2,4,200, 3,3,1200 ; double statistics65=0; char title6= code, salesman-1, salesman-2, salesman-3, salesman-4, sum; int cards=sizeof(saleslist)/sizeof(card); int i,j; count(saleslist, cards, statistics); for(j=0; j6; j+) printf(%12s, titlej); printf(n); for(i=0; i6; i+) if(i5) pri

9、ntf(%12d, i+1); else printf(%12c, ); for(j=0; j5; j+) printf(%12.2f, statisticsij); printf(n); getch(); return 0;【要求】1. 打开t盘中myfl.c文件或将上述程序录入到myf1.c文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3. 改正后的源程序(文件名myfl.c)保存在t盘的根目录中供阅卷使用,否则不予评分。二、编程题(2

10、4分)【程序功能】判断一个任意输入的整数是否是自我数。自我数是指不能由任何一个整数与该整数的十进制表示中的各位数字相加得到。例如:20是自我数;但21不是自我数,因为可以找到整数15,15与其十进制表示的各位数字相加等于21(即21=15+5+1)。【编程要求】1 编写int selfnumber(int num, int sum)函数。函数功能:若num是自我数,则函数返回1;若num不是自我数,则将找到的那个整数以及该整数的十进制表示的各位数字依次存储到sum指向的数组中,函数返回存储到sum指向的数组中整数的个数。例如,当num=21时,sum0=15, sum1=5, sum2=1,函

11、数返回3。2编写main函数。函数功能:声明长度为10的整型数组self,从键盘输入一个整数赋给变量x,用self和x作实寻调用selfnumber函数,根据函数返回值按以下输出形式输出结果数据到屏幕及数据文件myf2.out中,最后将考生本人的准考证号字符串输出到文件myf2.out中。【测试数据与运行结果】输入:20屏幕输出:20 is a selfnumber输入:256屏幕输出:256 is not a selfnumbe 256=245+5+4+2【要求】1. 源程序文件名为myf2.c,输出结果文件名为myf2.out。2. 数据文件的打开、使用、关闭均用c语言标准库中文件操作函数

12、实现。3. 源程序文件和运行结果文件均需保存到t盘上,供阅卷使用。4. 不要复制扩展名为obj和exe的文件到t盘上。说明:由于豆丁网不容许存放压缩文档,所以练习用的江苏省高校计算机二级c语言考试c01环境的安装包“江苏省高校计算机等级考试(二级)考试环境安装包2014秋_c01上机题_张柏雄.exe”放置在网站/user/admin/uuxzhang 上。该压缩包能自动释放在桌面上,双击执行文件,进入“练习模式”,帐户名及密码均为“0102400000”。待改错文件“myf1.c”存放在桌面“二级考试”文件夹下。c01解答【改错题解答:myf1.c】此题比

13、较简单。原程序存在4个错误,由于不需要输入错误程序,所以改正每个错误一般可得4分。错误在下面调试成功的程序已有注解#include #include typedef struct int salesmanid; /*销售员工号*/ int productcode; /*销售的产品编号*/ double dailysalesamount; /*销售总额*/ card; /定义出错、自定义结构类型名,必须加分号:cardcard;void count(card *s, int n, double st5) int i,j,id,code; for(i=0; in;i+)for(i=0; in;i+

14、) id=si.salesmanid-1; code=ductcode-1; stcodeid+=si.dailysalesamount; for(i=0;i5;i+) for(j=0;j4;j+) sti4+=stij; for(j=0;j5;j+) for(i=0;i5;i+) st5i+=stji; /3下标出错、stijstjiint main() card saleslist=1,1,5600.9, 1,5,3050.85, 1,3,980.5, 2,2,7000, 2,1,3500, 2,4,450.9, 2,3,320.6, 4,5,8900, 4,1,780.5,

15、4,3,560, 3,1,2300.6, 3,2,1200.9, 3,5,1800.8, 3,3,268.0, 3,4,350.4, 1,4,2100, 1,2,2400, 1,3,100, 2,4,200, 3,3,1200 ; double statistics65=0; char title615= code, salesman-1, salesman-2, salesman-3, salesman-4, sum; /4下标定义出错、char title6char title615 int cards=sizeof(saleslist)/sizeof(card); int i,j; co

16、unt(saleslist, cards, statistics); for(j=0; j6; j+) printf(%12s, titlej); printf(n); for(i=0; i6; i+) if(i5) printf(%12d, i+1); else printf(%12c, ); for(j=0; j5; j+) printf(%12.2f, statisticsij); printf(n); getch(); return 0;【编程题myf2.c解答关键点】编程的关键是:知道库函数所需要的相应的头文件名#include:#include /库函数exit(0)需要#incl

17、ude /库函数getch()需要【调试成功的myf2.c】#include #include /库函数exit(0)需要#include /库函数getch()需要int selfnumber(int num, int sum) int i,j,s,s2; for(i=num-1;i0;i-) /搜索小于num整数中符合不是自我数的数 s=i,j=1,sum0=i,s2=i;while(s20) /取i整数的十进制各位的个数 s=s+s2%10,sumj+=s2%10; s2=s2/10;if(num=s) return j; /*不是自我数,返回分解个数*/ return 1; /*返回1

18、为自我数*/ int main() int self10,x,k1,i,j; file *fp; if(fp=fopen(myf2.out,w)=null) printf(ncant open the file!); exit (0); for(i=0;i2;i+) self10=0; printf(n); scanf(%d,&x); k1=selfnumber(x,self); printf(n); if(k1=1) printf(%d is a selfnumbern,x),fprintf(fp,%d is a selfnumbern,x); else printf(%d is not a

19、 selfnumbern,x),fprintf(fp,%d is not a selfnumbern,x); printf(%d=,x),fprintf(fp,%d=,x); for(j=0;jk1-1;j+) printf(%d+,selfj),fprintf(fp,%d+,selfj); printf(%d,selfj),fprintf(fp,%d+,selfj); printf(n),fprintf(fp,n); printf(nmy number is:1492340n),fprintf(fp,nmy number is:1492340n);fclose(fp); /*操作结束,关闭文

20、件fp 书p334 */ getch(); return 0;调试结果: 附录:通用的自编函数【1、编程题中,文件处理的通用格式】对任课教师建议:从考生临场发挥来看,学生对编程题中的“文件操作”部份比较生疏,有的考生错误认为,题目要求将本人准考号输出到文件“myf2.out”,错误将文件名myf2.c修改为123456789_myf2.c;有的考生错误新建“myf2.out”文件,然后输入本人准考号等。建议教师结合 “对文件输入和输出”,将下面标准程序段(结合c02题目蓝色字体)教给学生,并要求记忆。#include /库函数exit(0)需要#include /库函数getch()需要.int main() int i,a10,k; file *fp; if(fp=fopen(myf2.out,w)=null) printf(ncant open the file!); exit (0);k=sear(a); for(i=0;ik;i+) printf(%dn,ai),fprintf(fp,%dn,ai); printf(n);fprintf(fp,n); fprintf(fp,nmy numbe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论