初質問です、よろしくお願いします。c言語初心者です。
1~1万個の数値(少数も使いたい)が一つのファイルに入っているときに、その個数と平均を求めたいのですが数値がずれてしまいます。どこを改良するとよいでしょうか?
ファイル例
1
2
3
4
5
結果
データ数:6 ←5にしたい
平均値:2.500000 ←3.000000にし
#include <stdio.h>
#include <math.h>
int main()
{
int i = 0;
double j, k;
char dl[10000];
FILE *fp;
printf("ファイル名を入力:");
scanf("%s", dl);
fp = fopen(dl, "r");
if (fp == NULL)
{
printf("指定したファイルを開けません");
return (0);
}
for (i = 1;; i++)
{
if (fscanf(fp, "%lf", &j) == EOF)break;
k = k + j;
}
fclose(fp);
printf("データ数:%d個\n", i); printf("平均値:%f", k / i); return (0);
}
試したこと
少数ありの6500個の数字で試すとデータ数は合っていましたが、平均はずれてしまいました。
補足情報(FW/ツールのバージョンなど)
visual studio を使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/17 03:39