#include
int main()
{
int n;
FILE *fp;
FILE *qw;
int i;
int j;
qw=fopen("out.txt","w");
fp=fopen("\D\in.txt","r");
fscanf(fp,"%d",&n);
if (fp==NULL)
{
printf("\n文件打开失败!\n");
}
for(j=0;j<=n;j++)
{
for(i=2;i<j;i++)
{
if(j%i==0)
{
fprintf(qw,"%4d",j);
}
}
}
fclose(fp);
fclose(qw);
return 0;
}
该代码能实现从in.txt中读取一个整数n,然后将0到n的质数写入out.txt中吗?
你这不是求质数,看着像求n的倍数,质数算法,网上很多,你找一个看看,就明白了
int flag;
for(j=0;j<=n;j++)
{
flag = 1;
for(i=2;i<j;i++)
{
if(j%i==0)
{
flag =0;
break;
}
}
if(flag==1){
fprintf(qw,"%4d",j);
}
}
质数不太好判断,判断素数会好一些
然后用if语句判断,如果该数是质数,就跳过,否则输入,就行
质数不太好判断,判断素数会好一些
然后用if语句判断,如果该数是质数,就跳过,否则输入,就行
if (fp==NULL) 为什么不返回,还继续下去?
求质数的完全错了。。。。
if(j%i==0)
{
fprintf(qw,"%4d",j);
}
质数是这么定义的么?
第一个质数2好像就没找出来吧
已经开始读取才判断是不是没有这个文件,是不是有点问题啊!
该程序漏洞百出 建议好好看看文件IO的操作以及相关逻辑的实现 关键是思想一定不要出错
参考代码段,总有你想要的
https://github.com/707wk/Senior-middle-school/blob/master/Filling%20in%20the%20gaps.c