oh470 2022-08-27 23:00 采纳率: 62.5%
浏览 184
已结题

C语言编写一个能计算学生平均成绩并保存为文件的程序。

问题遇到的现象和发生背景

C语言编写一个能计算学生平均成绩并保存为文件的程序。
某教师承担了某个班的教学工作,在一次测试之后,教师通常要把学生的成绩录入到计算机中保存起来,然后计算他所教班级的学生该课程的平均成绩值,试给教师写一个程序完成这样的工作。
注:先从in.txt读取数据,在q.c进行计算后,再输出数据到out.txt。
例如:
in.txt:65 65 65
out.txt:3 65.0

问题相关代码,请勿粘贴截图
  • 写回答

2条回答 默认 最新

  • 滴水不穿石 2022-08-27 23:46
    关注

    非标准答案,仅供参考!谢谢!

    img

    img

    img

    #include<stdio.h>
    
    // 打开文件读取各个分数累加到total
    // 返回学生人数n
    size_t getsdataTo(FILE * in, double *total)
    {
        if (!in)
            return 0;
            
        double tmp;
        size_t n = 0;
        
        while (!feof(in))
        {
            if (fscanf(in, "%lf", &tmp) == 1);
            {
                *total += tmp;
                n++;
            }
        }
    
        return n;
    }
    
    int main()
    {
        char inF[]="in.txt";
        char outF[]="out.txt";
        size_t n=0;   //考生人数
        double avg=0.0; //平均分
        double total=0.0;//总分
        
        FILE *in=fopen(inF,"r");
        FILE *out=fopen(outF,"w");
        if(!in || !out)return -1;
        
        //开始读取各个考生分数累加到total
        n=getsdataTo(in, &total);
        
        //计算平均分
        if(n!=0)
            avg=total/n;
        
        //考生人数和平均分写到输出文件outF
        fprintf(out, "%u %.1lf", n, avg);
        
        fclose(in);
        fclose(out);    
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月5日
  • 已采纳回答 8月28日
  • 创建了问题 8月27日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装