前提・実現したいこと
excelのファイルである”JPEXspot2019.csv”を読み込んで平均等を求めたいのですが、うまくいきません。
ファイルには、17000以上の数字が入力されているのですが、失敗に関係あるのでしょうか?
また、int a[] の中に入れる数字で何が変わるのでしょうか?
初心者でわからないことだらけなので勉強中です。よろしくお願いします。
該当のソースコード
C
1 2#include <stdio.h> 3#include <math.h> 4int main(void){ 5int a[100000], count=0, i; //適当に配列の最大を決める 6double ave=0.0, bunsan=0.0, hensa; 7FILE *fp; 8 9//ファイルを開く。無ければプログラム終了 10//fopen(ファイル名, モード)→"r"は読み取り専用 11if((fp = fopen("JPEXspot2019.csv", "r")) == NULL){ 12printf("file open error!!\n"); 13return -1; 14} 15 16//fscanf関数を用いてファイルから1行単位で読み込み 17//EOFとはEnd Of Fileの意味。ファイルの終端に来ればEOFが返る 18while(fscanf(fp, "%d", &a[count]) != EOF){ 19count++; 20} 21fclose(fp); //ファイルを開いたら必ず閉じる 22 23//平均 24for(i=0; i<count; i++){ 25ave += a[i]; 26} 27ave /= count; 28 29//標準偏差 30for(i=0; i<count; i++){ 31bunsan = bunsan+(a[i]-ave)*(a[i]-ave); 32} 33bunsan /= count; 34hensa = sqrt(bunsan); 35 36printf("個数:%d, 平均:%.3f, 標準偏差:%.3f\n", count, ave, hensa); 37return 0; 38} 39
「うまくいきません」を説明してください。
なにが/どう うまくいかんのですか?