计算机三级网络技术上机考试题
离2016年第一次计算机考试只有一个月了,同学们的网络技术复习得怎么样了呢?下面小编为大家准备了最新的网络技术上机考试题,希望能帮助到大家!
第一题
下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[ ])实现程序的要求,最后调用函数readwriteDAT( )把结果输出到out92.dat文件中。
例如,若输入17,5,则应输出19,23,29,31,37。
注意:部分源程序已给出。
请勿改动主函数main()和输入输出函数readwriteDAT()的内容。
试题程序:
#include
#include
void readwriteDAT();
void num(int m,int k,int xx[])
{
}
void main()
{
int m,n,xx[1000];
system("CLS");
printf("\nPlease enter two integers:");
scanf("%d,%d",&m,&n);
num(m, n, xx);
for(m=0;m printf("%d ",xx[m]);
printf("\n");
readwriteDAT();
}
void readwriteDAT()
{
int m, n, xx[1000],i;
FILE *rf,*wf;
rf=fopen("in92.dat","r");
wf=fopen("out92.dat","w");
for(i=0;i<10;i++)
{
fscanf(rf,"%d %d",&m,&n);
num(m,n,xx);
for(m=0;m fprintf(wf,"%d ",xx[m]);
fprintf(wf,"\n");
}
fclose(rf);
fclose(wf);
}
【参考答案】
void num(int m,int k,int xx[])
{
int i,half,cnt=0; /*定义变量cnt来统计已经取得的素数个数*/
int data=m+1; /*从大于整数m的数开始找*/
while(1) /*循环条件始终为真,所以是无条件循环*/
{
half=data/2; /*求出当前数的一半,判断素数*/
for(i=2;i<=half;i++)