三级C语言程序设计上机考试习题集(2004年版).pdf
文本预览下载声明
全国计算机等级考试
三级C语言程序设计上机考试习题集(2004 年版)
南开 100 题
【终极无错版】
2004 年 6 月 27 日
修订者:李蓝
1
题目前带★号的是在 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);
2
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
显示全部