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

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

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

问题相关代码,请勿粘贴截图

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

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;
}

C语言如何读取txt文件
https://blog.csdn.net/weixin_37615774/article/details/120591665?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166161549416780357221372%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166161549416780357221372&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-120591665-null-null.142^v42^control,185^v2^tag_show&utm_term=c%E8%AF%AD%E8%A8%80%E8%AF%BB%E5%8F%96txt%E6%96%87%E4%BB%B6&spm=1018.2226.3001.4187
C语言计算平均分
https://blog.csdn.net/m0_47557768/article/details/106302907?ops_request_misc=&request_id=&biz_id=102&utm_term=c%E8%AF%AD%E8%A8%80%E6%B1%82%E5%AD%A6%E7%94%9F%E5%B9%B3%E5%9D%87%E5%88%86&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-106302907.142^v42^control,185^v2^tag_show&spm=1018.2226.3001.4187
C语言实现数据写入文件
https://blog.csdn.net/jchsns007/article/details/104969959?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166161565016782414992851%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166161565016782414992851&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-5-104969959-null-null.142^v42^control,185^v2^tag_show&utm_term=c%E8%AF%AD%E8%A8%80%E5%86%99%E5%85%A5txt%E6%96%87%E4%BB%B6&spm=1018.2226.3001.4187