题目如上
程序如下:
#include<stdlib.h>
#include<stdio.h>
void readwriteDAT();
void num(int m,int k,int xx[])
{
int i,j,cnt=0;
for(i=m+1;cnt<k;i++)
{
for(j=2;j<=i/2;j++)
if(i%j==0) break;
if(j>=i/2)
{
xx[cnt]=i;
cnt++;
}
}
}
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<n;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;i<10;i++)
{
fscanf(rf,"%d %d",&m,&n);
num(m,n,xx);
for(m=0;m<n;m++)
fprintf(wf,"%d ",xx[m]);
fprintf(wf,"\n");
}
fclose(rf);
fclose(wf);
}
经编译,执行没出错(输入17,5得到的结果与题述一样),可是为什么用的上机模拟软件,交卷后分数显示0分,错误信息显示程序调试错误(我肯定保存好了的,做其他上机题目都没出现过这种情况)
是不是程序错了?可是错了为什么编译执行都没错呢,但分数却是0分呢?