将2—100之间的所有素数写入到一个磁盘文件num.dat中;

将2—100之间的所有素数写入到一个磁盘文件num.dat中;再将数据读出并输出到屏幕上

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    int i,j,flag;
    int a[100];
    FILE*fp;
    fp=fopen("num.dat","w");
    if(fp==NULL)
    {
        printf("fopen error\n");
        return -1;
    }
    fprintf(fp, "%d ", 2);
    for(i=3; i<=100; i++)
    {
        flag=0;
        for(j=2; j<i; j++)
        {
            if(i%j==0)
            {
                flag=1;
                break;
            }
        }
        if(flag==0)
            fprintf(fp, "%d ",i);

    }
    fclose(fp);
    
    return 0;
}

b = {n if n in [2,3] or sum([1 if n % x ==0 else 0 for x in range(2,n)])==0 else 0 for n in range(2,101)}  
b.remove(0)
c = ','.join([str(n) for n in b])
f = open('num.dat','w')
f.write(c)
f.close()
print('2-100之间的所有素数有:'+c)