实验十一 文件操作 程序三

程序三

在6至10000内找出所有的合数,并顺序将每个合数用语句fprintf(p,”%6d”,n)写入到新建的文件design.dat,(要求文件名由命令行输入,如HeShu design.dat,其中HeShu为可执行文件名(这个要求可以不做))。(合数是指一个数等于除它本身外所有因数的和,如6=1+2+3,28=1+2+4+7+14)

 

 

#include<stdio.h>
#include<stdlib.h>
int heshu(int i)
{
int m,sum;
sum=0;
for(m=1;m<i;m++){
if(i%m==0)
sum=sum+m;
}
if(sum==i)
return 1;
else
return 0;
}
int main()
{
FILE *p;
char ch;
int n;
if((p=fopen("D:\\wj\\input.dat","wb"))==NULL){
printf("File open error!\n");
exit(0);
}
for(n=6;n<=10000;n++){
if(heshu(n)){
fprintf(p,"%6d",n);
}
}
if(fclose(p)){
printf("Can not close the file!\n");
exit(0);
}
return 0;
}

posted @ 2018-12-26 15:25  阿森纳必胜  阅读(224)  评论(0编辑  收藏  举报