#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void)
{
int x,m;
int a[100];
int prime(int m);
int save(int a);//
保存函数申明
x=0;
for(m=2;m<=100;m++){
if(prime(m)){
a[x]=m;
printf("%6d",a[x]);
save(a[x]);//
调用
x++;
if(x%10==0)printf("\n");
}
}
printf("\n");
}
int prime(int m)
{
int i,n;
if(m==1) return 0;
n=sqrt(m);
for(i=2;i<=n;i++)
if(m%i==0){
return 0;
}
return 1;
}
int save(int a)//
保存函数
{
FILE*fp;
if((fp=fopen("100以内素数.txt","a"))==NULL){
printf("File open error!\n");
exit(0);
}
fprintf(fp,"%6d",a);//
向文件格式化输入数据a不用“a”
if(fclose(fp)){
printf("Can not close the file!\n");
exit(0);
}
return 0;
}
注意:打开文件时因为是多次调用写入函数,一次一次写入数据
故fopen("100以内素数.txt","a"))这里用“a”追加,而有些系统在开始找不到指定文件时报错,如果这样,楼主事先在目录下创建
100以内素数.txt
文件即可
GOOD LUCK~~~