程序三 在6至10000内找出所有的合数,并顺序将每个合数用语句fprintf(p,”%6d”,n)写入到新建的文件design.dat,(要求文件名由命令行输入,如HeShu design.dat,其中HeShu为可执行文件名(这个要求可以不做))。(合数是指一个数等于除它本身外所有因数的和,如6=1+2+3,28=1+2+4+7+14)
程序三
在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>
#include<string.h>
int main()
{
int i,j;
int sum;
int n;
FILE*fp;
if((fp=fopen("design.dat.text","wb"))==NULL)//w是以文本方式打开文件
//wb是二进制方式打开文件
//以文本方式打开文件时,fwrite函数每碰到一个0x0A时,就在它的前面加入0x0D
{
printf("File open error!\n");
exit(0);
}
for(i=6;i<10000;i++)
{
sum=0;
for(j=1;j<i;j++)
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)
{
fprintf(fp,"%6d",i);
printf("%6d",i);
}
}
printf("\n");
printf("已输入到文件design.dat中");
if(fclose(fp))
{
printf("Can not close the file!\n");
exit(0);
}
}