三级C语言程序设计上机考试习题集100南开100题..doc

三级C语言程序设计上机考试习题集100南开100题..doc

全国计算机等级考试 三级C语言程序设计上机考试习题集(2004年版) 南开100题 【终极无错版】 2006年11月10日 修订者: 题目前带★号的是在2004年4月份上机考试中被考生们所确定了的上机题。 题目中所提示的“无忧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); } ***************************************************************************************** ★题目2(无忧 id 143) 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

文档评论(0)

1亿VIP精品文档

相关文档