2006年9月全国等级考试三级c语言上机题库(一)
文章作者 100test 发表时间 2007:03:10 19:14:12
来源 100Test.Com百考试题网
题目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
#include
void readwriteDat().
int isP(int m)
{
int i.
for(i=2.iif(m % i==0)return 0.
return 1.
}
void num(int m,int k,int xx[])
{ int s=0.
for(m=m 1.k>0.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.mprintf("%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.i<10.i ){
fscanf(rf,"%d %d",&.m,&.n).
num(m,n,xx).
for(m=0.mfprintf(wf,"\n").
}
fclose(rf).
fclose(wf).
}
无忧id 14题(无isP()函数)
#include
void jsValue(int m,int k,int xx[])
{ int i,j,s=0.
for(i=m 1.k>0.i )
{ for(j=2.jif(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.mprintf("\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.i<10.i ){
fscanf(in,"%d%d",&.m,&.n).
jsValue(m,n,zz).
for(m=0.mfprintf(out,"\n").
}
fclose(in).
fclose(out).
}
另一解法:
void num(int m,int k,int xx[])
{
int n=0,data=m 1.
while(nif(isP(data)) xx[n ]=data.
data .}
}