C语言文件读取的问题。

#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