- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国计算机等级考试
三级C语言程序设计上机考试习题集
(2011年版)
南开上机100练
题目前带★号的是在2004年4月份上机考试中被考生们所确定了的上机题。题目前带号的是在2004年月份上机考试中被考生们所确定了的上机题。题目中所提示的“无忧id xx”指的是2004年上半年版无忧模拟系统中的固定抽题序号
题目中所提示的“捷成id xx”指的是2004年上半年版捷成模拟系统中的固定抽题序号*****************************************************************************************
题目1(无忧 id 14、id 27(提供isP()函数;捷成id 23题)
请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。
部分源程序存在文件prog1.c中。
例如:若输入17 5 则应输出:19,23,29,31,37。
请勿改动主函数main()和写函数writeDat()的内容。
#include conio.h
#include stdio.h
void readwriteDat();
int isP(int m)
{
int i;
for(i=2;im;i++)
if(m % i==0)return 0;
return 1;
}
void num(int m,int k,int xx[])
{ int s=0;
for(m=m+1;k0;m++)
if(isP(m)) { xx[s++]=m; k--;}
}
main()
{
int m,n,xx[1000];
clrscr();
printf(\nPlease enter two integers:);
scanf(%d%d,m,n);
num(m,n,xx);
for(m=0;mn;m++)
printf(%d ,xx[m]);
printf(\n);
readwriteDat();
}
void readwriteDat()
{
int m,n,xx[1000], i;
FILE *rf,*wf;
rf=fopen(in.dat,r);
wf=fopen(out.dat,w);
for(i=0;i10;i++){
fscanf(rf,%d %d,m,n);
num(m,n,xx);
for(m=0;mn;m++)fprintf(wf,%d ,xx[m]);
fprintf(wf,\n);
}
fclose(rf);
fclose(wf);
}
无忧id 14题(无isP()函数)
#include stdio.h
void jsValue(int m,int k,int xx[])
{ int i,j,s=0;
for(i=m+1;k0;i++)
{ for(j=2;ji;j++)
if(i%j==0) break;
if(i==j) { xx[s++]=i; k--;}
}
}
main()
{
int m,n,zz[100];
printf(\n请输入两个整数:);
scanf(%d%d,m,n);
jsValue(m,n,zz);
for(m=0;mn;m++)printf(%d ,zz[m]);
printf(\n);
writeDat();
}
writeDat()
{
int m,n,zz[100],i;
FILE *in,*out;
in=fopen(in.dat,r);
out=fopen(out.dat,w);
for(i=0;i10;i++){
fscanf(in,%d%d,m,n);
jsValue(m,n,zz);
for(m=0;mn;m++)fprintf(out,%d ,zz[m]);
fprintf(out,\n);
}
fclose(in);
fclose(out);
}
另一解法:
void num(int m,int k,int xx[]){??int n=0,data=m+1;??while(nk){?? if(isP(data)) xx[n++]=data;?? data++;}}
*******************************************************************
您可能关注的文档
最近下载
- 2024年10月27日云南昭通市事业单位选调笔试真题及答案解析.doc VIP
- 讲义总结岩土工程勘察讲义.ppt VIP
- 非常规油气勘探开发地质风险评估.pdf
- 中职 图形图像处理(Photoshop CS5)PS(第7章)教学课件 高教版.ppt VIP
- 市政道路监理规划-范本.pdf VIP
- 2025海南省通信网络技术保障中心招聘事业编制人员12人(第1号)笔试模拟试题及答案解析.docx VIP
- 《飞机上应急医疗》课件——心肺复苏的流程.pptx VIP
- 中职 图形图像处理(Photoshop CS5)PS(第6章)教学课件 高教版.ppt VIP
- 抖音直播社区公约.pdf VIP
- 地质灾害治理工程施工技术规范 DB50_T 989-2020 重庆.pdf VIP
文档评论(0)