代码已经测试过了,放心使用。。
#include<stdio.h>#include <stdlib.h>
void main()
{
FILE* fp
fp = fopen("a.txt","w+")
if (fp==NULL)
{
printf("fail to open the file\n")
exit(-1)
}
for(int i=1 i<=33 埋晌裂i++)
for(int j=i+1 j<=33 j++)
for(int k=j+1 k<=33 k++)
for(int l=k+1 l<弯闭=33 l++)
for(int m=l+1 m<=33 m++)
for(int n=m+1 n<=33 n++)
if(i+j+k+l+n+m <= 80 && i+j+k+l+n+m >= 60)
fprintf(fp,"谨乎%d, %d, %d, %d, %d, %d, %d\n",i+j+k+l+n+m, i,j,k,l,m,n)
fclose(fp)
}
改成这样main()
{
float l,i,a
printf("L=")
scanf("%f",&i)
l=i
FILE *fs
fs=fopen("cc.txt","w")
while(l<=20)
{
a=6*l
/*printf("L=%f\t %f\n",l,a)*/
fprintf(fs,"L=%f\t %f\n",l,a)
l=l+1
}
fclose(fs)
}
原因是因为你在循环中打开文件,不停的在从第0个位置写,再关闭
如果想放在循环中,你判樱用到fseek(文件类型指针fp,位移量,起始点)接口,放在/*printf("L=%f\t %f\n",l,a)*/ 后面
起始点 对应的数字 代表的文件位置
SEEK_SET 0文件开头
SEEK_CUR 1文件当前位置
SEEK_END 2文虚脊件末尾
例如:掘誉丛
fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)