C语言编程文件问题为什么输出是会这样?

2025-03-30 20:53:30
推荐回答(2个)
回答(1):

#include
#include
void in_score(void)
{
int i,j,n,m;
float sc;
FILE *fp;
system("cls");
fp=fopen("leiwei.txt","w");
if(fp==NULL)

printf("´ò¿ªÎļþ´íÎó\n");
exit(1);
}
printf("ÇëÊäÈëѧÉúÈËÊý£º");
scanf("%d",&n);
printf("ÇëÊäÈëʵ¼Ê¿Î³ÌÊý£º");
scanf("%d",&m);
for(i=1;i<=n;i++)

printf("\nÇëÊäÈëµÚ%d¸öѧÉúµÄ³É¼¨£º\n",i);
for(j=1;j<=m;j++)

printf("\t\tµÚ%dÃŹ¦¿Î³É¼¨£º\n",j);
scanf("%f",&sc);
fprintf(fp,"%.1f\n",sc);
}
//fputc('\n',fp);
}
fclose(fp);
}
void out(void)
{
int i,j,n,m;
float sc;
FILE*fp;
system("cls");
fp=fopen("leiwei.txt","r");
if(fp==NULL)
{
printf("´ò¿ªÎļþ´íÎó\n");
exit(1);
}
printf("ÇëÊäÈëÒª´ÓÎļþÖÐÊä³ö¶àÉÙÈËÊýµ½ÆÁÄ»£º");
scanf("%d",&n);
printf("ÇëÊäÈë³É¼¨²âµÃʵ¼Ê¿Î³ÌÊý£º");
scanf("%d",&m);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)

fscanf(fp,"%f\n",&sc);
printf("%.1f\n",sc);
}
printf("\n");
//fgetc(fp);
}
fclose(fp);
}
void main()
{
in_score();
out();
}

回答(2):

往文件里写单个数据,写完一个空一格,比如:

 fprintf(fp, "%.0f ", sc);