ファイルから読み込むC言語の問題
C言語の問題です。
file.txtを読み込む。
データの値を奇数と偶数に分け、それぞれ合計値・個数・平均値を出力せよ。
奇数データの数・偶数データの数がゼロの場合は、平均値を求めないようにしなさい。
file.txtの中身は「10 11 8 21 6 8 13 26 9 3」です。
#include <stdio.h>
#define SIZE 10
int main(void)
{
FILE *infile;
int i, data[SIZE];
int ksum, knum, gsum, gnum;
ksum = 0;
gsum = 0;
infile = fopen("file.txt", "r");
if(infile == NULL) {
printf("入力ファイルを開くことができません\n");
else{
fscanf(infile, "%d");
if(data[i]%2){
ksum += data[i];
knum += 1;
}
else if(data[i]/2==0){
gsum += data[i];
gnum += 1;
}
}
return 0;
}
for(i = 0; i < SIZE; i ++ ) {
fscanf(infile, "%d", &data[i]);
}
for(i = 0; i < SIZE; i ++ ) {
printf(" %3d", data[i]);
}
printf("%d %d %f", ksum, knum, (double)ksum/knum);
printf("%d %d %f", gsum, gnum, (double)gsum/gnum);
return 0;
}
このように考えたのですが、うまく実行できません。
間違っている箇所やその修正方法などを教えていただけたら嬉しいです。
ちなみに16行目で「else 文が if と一致しません。」というエラーが出てしまいます。
もうひとつ「奇数データの数・偶数データの数がゼロの場合は、平均値を求めない」というのはどのように表せば良いのでしょうか?
ご指導よろしくお願いします。