C言語において、キーボードからファイル名を入力し、そのファイルに記載されている小数のデータ(データ数はわからないものとする)のデータ数と平均値を求める問題です。自分でプログラムを作成したのですが、実行結果のデータの個数が一致しません。ですのでもちろん平均値も一致していません。
自分で書いたソースコードの何が間違っているのか教えていただけないでしょうか。
ちなみにエラー表示はありません。使用しているエディタはVScodeで、windowsのcmdでやっても正しい結果は出ませんでした。
C
1#include<stdio.h> 2#include<math.h> 3int main(){ 4 int x=0; 5 char fname[100]; 6 double y,total; 7 FILE *fp; 8 9 printf("ファイル名を入力してください:"); 10 scanf("%s",fname); 11 12 fp=fopen(fname,"r"); 13 if(fp==NULL){ 14 printf("指定したファイルを開けません"); 15 return (0); 16 } 17 18 19 20 for(x=1;;x++){ 21 fscanf(fp,"%lf",&y); 22 if(fscanf(fp,"%lf",&y)==EOF) break; 23 total+=y; 24 25 } 26 fclose(fp); 27 28 printf("データ数:%d個\n",x); 29 printf("平均値:%f",total/x); 30 31 32 return(0); 33 34}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/14 14:19
2020/12/14 14:24
2020/12/14 14:28
2020/12/14 14:34
2020/12/14 14:34
2020/12/14 15:04
2020/12/14 15:18