注册 登录
编程论坛 C语言论坛

C语言 从该文件读取数据,计算平均成绩、最高分和最低分,并将结果输出到文件

编程小白啊 发布于 2020-06-14 17:09, 3483 次点击
文本文件score.txt中保存有一组学生的成绩(为整数),成绩之间用空格分割,成绩个数未知;要求从该文件读取数据,计算平均成绩、最高分和最低分,并将结果输出到文件result.txt中,其中平均分保留两位小数。
【输入形式】
【输出形式】
【样例输入】假设score.txt中的数据为:90 80 70 60
【样例输出】result.txt中的数据为:75.00 90 60

麻烦大神们帮我改一下这个程序 谢谢谢谢 总是测试的数据不对

程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    FILE *fp1,*fp2;
    int max=0,min=100,score,n=0;
    double avg=0;


 if ((fp1=fopen("score.txt","r"))==NULL)

 {
     printf("File open error!\n");
     exit(0);

 }

 
   fp2=fopen("result.txt","w");


  while(fscanf(fp1,"%d",&score)!=EOF)
{
   
  fscanf(fp1,"%d",&score);
  
  if(max<score) max=score;
  
  if(min>score) min=score;
  
  avg+=score;
  n++;
}

  avg=avg/n;

  fprintf(fp2,"%.2f %d %d",avg,max,min);

 

 

 if(fclose(fp1)){
  printf("Cannot close this file!\n");
  exit(0);

 }

 

 

 if(fclose(fp2)){
  printf("Cannot close this file!");
  exit(0);

 }
return 0;
}
3 回复
#2
fulltimelink2020-06-14 19:24
多了一个fscanf
#3
纯蓝之刃2020-06-14 19:32
fscanf(fp1,"%d",&score);
重复了
#4
编程小白啊2020-06-14 20:25
回复 2楼 fulltimelink
谢谢!
1