gpt4 book ai didi

c - 输入/输出;从文本文件读取值并计算数据

转载 作者:行者123 更新时间:2023-11-30 17:09:18 26 4
gpt4 key购买 nike

因此,我的一项作业要求我读取包含 3 列的文本文件,并打印出每列的总和和平均值。我已经记下大部分代码,但第一列的总和始终打印为 21.39000000。谁能告诉我我哪里出了问题?谢谢!

我知道我有其他两列的总和,但我现在忽略它。不知道如何上传我的数据,但有 10000 行数字,分为 3 列。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
double n1=0, n2=0, n3=0;
double sum1, sum2, sum3;
double avg1,avg2,avg3;
int count=0;
FILE *inFile;

inFile = fopen("data.txt", "r");
if (inFile == NULL){
printf("\nFailed to open file.\n");
exit(1);
}
else
{
while(count<1001){
fscanf(inFile,"%lf %lf %lf",&n1,&n2,&n3);
sum1 += n1;
sum2 += n2;
sum3 += n3;
count ++;
avg1 = sum1/1000.00;
}

printf("\nSum is %lf\n", n1);
printf("\nAverage is: %lf\n",avg1);
}

fclose(inFile);
return 0;
}

最佳答案

1.您应该初始化 sum1 和 sum2。2.线路

avg1 = sum1/1000.00;

应该在while循环之外

  • 打印应该是

    printf("\n总和为 %lf\n", sum1);而不是

    printf("\n总和为 %lf\n", n1);

  • 关于c - 输入/输出;从文本文件读取值并计算数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33335345/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com