前提
キーボードから1桁の数を入力し、0から9までそれぞれ何個入力されたかを出力するプログラムです。
誤りや修正点などあればご指摘いただけますと幸いです。
実現したいこと
0~9までキーボードで何個入力したかをそれぞれ出力する
発生している問題・エラーメッセージ
エラーは出ないのですが、何個か数字を入力した後にキーボードでEOFを入力するとその後の出力が一切なくプログラムが終了してしまいます.。
該当のソースコード
C
1ソースコード 2// #include<stdio.h> 3void x_count(int x[100], int c[10]); 4 5int main(void) 6{ 7 int n = 0, i, x[100], c[10] = {0}; 8 9 printf("0~9 の任意の整数を入力してください ( 入力終了は Ctrl-D ) :\n"); 10 while (scanf("%d", &x[n]) != EOF && n < 100) 11 { 12 n++; 13 } 14 x_count(x, c); 15 for (i = 0; i < 10; i++) 16 { 17 printf("%d の個数は %d\n", i, c[i]); 18 } 19 20 return 0; 21} 22 23void x_count(int x[100], int c[10]) 24{ 25 int n = 0, num; 26 27 while (x[n] != EOF && n < 100) 28 { 29 num = x[n]; 30 c[num] += 1; 31 n++; 32 } 33} 34 35### 試したこと 36 37while文をfor文に変更したものも試しましたが同様の結果になりました。
回答1件
あなたの回答
tips
プレビュー