c语言-2010春C语言上机试卷C03答案.doc

c语言-2010春C语言上机试卷C03答案.doc

ID:55796411

大小:46.00 KB

页数:3页

时间:2020-02-27

c语言-2010春C语言上机试卷C03答案.doc_第1页
c语言-2010春C语言上机试卷C03答案.doc_第2页
c语言-2010春C语言上机试卷C03答案.doc_第3页
资源描述:

《c语言-2010春C语言上机试卷C03答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2010年春二级C语言上机试卷(试卷代号C03)答案一、改错题(16分)【程序功能】输入一个正确日期且年份在1900~9999范围内,输出该日期之后第一天的日期。提示:能被4整除并且不能被100整除的年份是闰年,能被400整除的年份也是闰年,其他年份则是平年。【测试数据与运行结果】第一次运行输入:2008-1-31输出:2008-2-1第二次运行输入:2008-12-31输出:2009-1-1第三次运行输入:2008-2-28输出:2008-2-29【含有错误的源程序】#includestructd{inty,m,d;};intleap(inty){returny%4==0

2、&&y%100!=0

3、

4、y%400==0;}next(structddt)/*语法错,中,改为structdnext(structddt)*/{intp,mon[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};structdnextd=dt;p=leap(dt.y);if(dt.d<=mon[p][dt.m])/*算法错,中,改为if(dt.d

5、;}else{nextd.y++;nextd.m=nextd.d=0;/*算法错,易,改为nextd.m=nextd.d=1;*/}returnnextd;}voidmain(){structdd1,d2;puts("inputadate:");scanf("%d-%d-%d",&d1.y,&d1.m,&d1.d);d2=next();/*语法错,易,改为d2=next(d1);*/printf("%d-%d-%d",d2.y,d2.m,d2.d);getch();}二、编程题(24分)【程序功能】若两个素数之和等于偶数x,则称这两个素数为“与偶数x关联的素数对”。由哥德巴赫猜想可知:任

6、何大于等于6的偶数x都会有一个或多个素数对与之关联。在与x关联的所有素数对中,有一对素数的乘积值大于所有其他对素数的乘积值,称这个素数对为“与x关联且乘积值最大的素数对”。例如:(3,37)、(11,29)和(17,23)都是与40关联的素数对,这些素数对中乘积值最大的素数队是(17,23)。因此,称(17,23)为“与40关联且乘积值最大的素数对”。程序为一维数组中每个大于等于6的偶数,找出与其关联且乘积值最大的素数对。【编程要求】1.编写函数intgetMax(intx[],intn,inty[][3])实现如下功能:取x指向的一维数组n个元素中所有大于等于6的偶数。求与每个偶数关联且乘

7、积值最大的素数对。将每个偶数及乘积值最大素数对保存到y指向的数组中。函数返回y数组中有效数据的行数。2.编写函数main实现如下功能:声明一维数组a和二维数组b并用测试数据初始化a数组。用a、b数组作实参调用getMax函数。按所给格式将b数组中数据输出到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】a数组初始化数据:{2,12,22,3,13,23,4,14,24}输出:12:(5,7)22:(5,17)14:(3,11)24:(11,13)【参考答案】#include#includeintisP

8、rime(intx){inti=0,flag=1;for(i=2;i<=sqrt(x);i++)if(x%i==0){flag=0;break;}returnflag;}intgetMax(intx[],intn,inty[][3]){inti,k,tmp,max,prm1,prm2,c=0;for(i=0;i=6&&tmp%2==0){max=prm1=prm2=0;for(k=3;kmax){max=k*(tmp-k);prm1=k;p

9、rm2=tmp-k;}}y[c][0]=tmp;y[c][1]=prm1;y[c][2]=prm2;c++;}}returnc;}voidmain(){inta[]={2,12,22,3,13,23,4,14,24},b[9][3]={0},i,k;FILE*fp;if((fp=fopen("myf2.out","w"))==NULL){printf("Cannotopenthefile!");exit(0)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。