C言語についてです。 テキストファイルから数値を読み込み、偶数か奇数の判定をした後、適した配列へ格納するというプログラムを作りたいです。
C言語についてです。 テキストファイルから数値を読み込み、偶数か奇数の判定をした後、適した配列へ格納するというプログラムを作りたいです。 以下のようにコードを書き大体の仕組みはできたのですが、出力の際に不自然な数値も表示されてしまいます。これはおそらく実際に格納した数値の数が、最初に定義した配列の要素数よりも少なかったため起きたのだと思いますが、その場合どう修正すればよいのかわかりません。 ーーーーーーーーーーーーーーーーーー テキスト内容 1 12 21 8 3 50 7 14 19 16 21 17 31 23 35 ーーーーーーーーーーーーーーーーーー コード #pragma warning(disable:4996) #include<stdio.h> typedef struct { int kisu[10]; int gusu[10]; }MEM; int main() { int num; //読み込んだ数値を一時格納 int count1 = 0, count2 = 0; int i; MEM member; FILE* fp; fp = fopen("01number.txt", "r"); while (fscanf(fp, "%d", &num) != EOF) { if (num % 2 == 0) { //偶数 member.gusu[count1] = num; count1++; } else if (num % 2 == 1) { //奇数 member.kisu[count2] = num; count2++; } } printf("奇数 : "); for (i = 0; i < 10; i++) { printf("%d ", member.kisu[i]); } printf("\n"); printf("偶数 : "); for (i = 0; i < 10; i++) { printf("%d ", member.gusu[i]); } fclose(fp); return 0; }
C言語関連・41閲覧・50
ベストアンサー
質問者からのお礼コメント
ありがとうございました!
お礼日時:5/29 12:59