A_wii 2021-12-20 14:59 采纳率: 50%
浏览 80
已结题

大家看看这个何解,fscanf还没学

记事本文件中,存放了若干实验数据(可以是真实的实验数据,也可以是假设的实验数据)。编写函数,计算出实验数据的平均数,实验数据和平均值之间的绝对差值超过0.5,就认为是无效的“脏”数据,舍弃,反之则认为是合理的数据。文件的读取由主函数完成,并输出所有合理的数据。

  • 写回答

2条回答 默认 最新

  • 关注
    #include <stdio.h>
    #include <math.h>
    int main()
    {
        FILE * fp = fopen("data.txt", "r");
        int i,count = 0;
        float a[100], sum = 0, avg;
        while (fscanf(fp, "%f", &a[count])!=EOF){
            sum += a[count];
            count++;
        }
        avg = sum / count;
        for (i = 0; i < count; i++)
        {
            if (fabs(a[i] - avg) <= 0.5)
                printf("%f ", a[i]);
        }
        return 0;
    }
    
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 12月28日
  • 已采纳回答 12月20日
  • 创建了问题 12月20日