- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2010春C语言上机试卷C03
江苏省高等学校非计算机专业学生
计算机基础知识和应用能力等级考试上机试卷(2010年春)
二级 C语言 (试卷代号C03)
(本试卷完成时间 70分钟)
一、改错题(分)
【程序功能】
输入一个正确日期且年份在1900(9999范围内,输出该日期之后第一天的日期。
提示:能被4整除并且不能被100整除的年份是闰年,能被400整除的年份也是闰年,其他年份则是平年。
【测试数据与运行结果】
第一次运行输入:2008-1-31
输出:2008-2-1
第二次运行输入:2008-12-31
输出:2009-1-1
第三次运行输入:2008-2-28
输出:2008-2-29
【含有错误的源程序】
#includestdio.h
struct d
{ int y,m,d; };
int leap(int y)
{ return y%4==0y%100!=0||y%400==0; }
next(struct d dt)
{ int p,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}};
struct d nextd=dt;
p=leap(dt.y);
if(dt.d=mon[p][dt.m])
nextd.d++;
else
if(dt.m12)
{ nextd.m++; nextd.d=1; }
else
{ nextd.y++;
nextd.m=nextd.d=0;
}
return nextd;
}
void main()
{ struct d d1,d2;
puts(\ninput a date:);
scanf(%d-%d-%d,d1.y,d1.m,d1.d);
if(d1.y=1900 d1.y=9999)
{ d2=next();
printf(%d-%d-%d,d2.y,d2.m,d2.d);
}
getch();
}
【要求】
将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。
改正后的源程序(文件名myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。
二、编程题(24分)
【程序功能】
若两个素数之和等于偶数x,则称这两个素数为“与偶数x关联的素数对”。由哥德巴赫猜想可知:任何大于等于6的偶数x都会有一个或多个素数对与之关联。在与x关联的所有素数对中,有一对素数的乘积值大于所有其他对素数的乘积值,称这个素数对为“与x关联且乘积值最大的素数对”。
例如:(3,37)、(11,29)和(17,23)都是与40关联的素数对,这些素数对中乘积值最大的素数队是(17,23)。因此,称(17,23)为“与40关联且乘积值最大的素数对”。
程序数组中每个大于等于6的偶数找出与其关联且乘积值最大的素数对。
【编程要求】
1.编写函数int getMax(int x[], int n, int y[][3])实现如下功能:取x指向的一维数组n个元素中所有大于等于6的偶数。求与每个偶数关联且乘积值最大的素数对。将偶数及乘积值最大素数对保存到y指向的数组中。函数返回y数组中有效数据的行数。
2.编写函数main实现如下功能:声明一维数组a和二维数组b并用测试数据初始化a数组。用a、b数组作实参调用getMax函数。按所给格式将b数组中数据输出到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。
【测试数据与运行结果】
a数组初始化数据:{ 2,12,22,3,13,23,4,14,4 }
输出:12: ( 5, 7)
22: ( 5,17)
14: ( 3,11)
24: (11,13)
【要求】
1.源程序文件名为myf2.c,输出结果文件名为myf2.out。
2.数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。
3.源程序文件和运行结果文件均需保存在T:盘根目录中供阅卷使用。
4.不要复制扩展名为obj和exe的文件到T:盘中。
C语言 2010年春 C03 第
文档评论(0)