前提
キーボードから1桁の数を入力し、0から9までそれぞれ何個入力されたかを出力するプログラムです。
誤りや修正点などあればご指摘いただけますと幸いです。
実現したいこと
0~9までキーボードで何個入力したかをそれぞれ出力する
発生している問題・エラーメッセージ
エラーは出ないのですが、何個か数字を入力した後にキーボードでEOFを入力するとその後の出力が一切なくプログラムが終了してしまいます.。
該当のソースコード
C
ソースコード // #include<stdio.h> void x_count(int x[100], int c[10]); int main(void) { int n = 0, i, x[100], c[10] = {0}; printf("0~9 の任意の整数を入力してください ( 入力終了は Ctrl-D ) :\n"); while (scanf("%d", &x[n]) != EOF && n < 100) { n++; } x_count(x, c); for (i = 0; i < 10; i++) { printf("%d の個数は %d\n", i, c[i]); } return 0; } void x_count(int x[100], int c[10]) { int n = 0, num; while (x[n] != EOF && n < 100) { num = x[n]; c[num] += 1; n++; } } ### 試したこと while文をfor文に変更したものも試しましたが同様の結果になりました。
まだ回答がついていません
会員登録して回答してみよう