どこが間違っているかご指摘願いたいと思います。
#include<stdio.h>
double average(double *a,int n)
{
int i;
double sum=0;
double heikin;
for(i=0;i<n;i++){
sum=sum+a[i];
}
heikin=sum/n;
return heikin;
}
void main()
{
int i,j,k,n=0;
double a[564]; /*配列を定義する*/
FILE *fp_in; /*0:ファイルポインタの宣言(ファイルを扱う場合には,この宣言は必ず必要!)*/
FILE*fp_out;
char filepath[256];
for(j = 1; j < 27; j++){
sprintf(filepath,"a%d.txt",j);
fp_in=fopen(filepath,"r"); /*1:ファイルを読み込み専用で開く*/
if(fp_in==NULL){ /*1:エラーチェック
printf("ファイルがありませんでした.?n");
return; /*1:プログラムの強制終了*/
}
fp_out=fopen("aa1.txt","w");
if(fp_out==NULL){
printf("ファイルがありません\n");
return;
}
for(i=0;i<564;i++){ /*繰り返し*/
fscanf(fp_in,"%le",&a[i]); /*2:ファイルからデータをスキャンし,配列に格納する.*/
n++; /*カウント*/
}
k = 10 * j + 40;
printf("%d %le\n",k,average(a,n)); /*関数に命令を与え,結果を画面に表示する*/
fprintf(fp_out,"%d %le\n", k, average(a,n));
fclose(fp_in); /*3:ファイルを閉じる(これを忘れると,ファイルが開いたままになる.)*/
}
fclose(fp_out);
}