質問: %d\n", i, a[i]); //選択された5個の乱数を表示 } if ((a[i] >= 20) || (a[i] <= 50)) { printf("20以上50以下の数%d個\n"); } else { printf("20以上50以下の数0個\n"); } if (a[i] > 80) { printf("80より大きい数%d個\n"); } else { printf("80より大きい数0個\n"); } if ((i >= 0) && (i < 10)) { printf("0以上10未満の数%d個\n"); } else { printf("0以上10未満の数0個\n"); } return 0; } ``` ### 試したこと このあとの条件を満たす数値の個数を表示するプログラムがまったく思いつかず、参考書やサイトを巡ってみても該当するものが見つけられませんでした。
回答: こういう質問に答えるのは難しいですね。 全部書いてしまうと 質問者さんのためにはならないと思いますので (1) 20以上50以下の数 だけ できるだけ質問者さんのプログラムに沿った形にするならば、下記のようになります。 ``` #include #include #include int main(void) { int a[5]; int i; int i20_50 = 0; srand((unsigned)time(NULL)); // 乱数の初期化 for (i = 0; i < 5; i++) { a[i] = rand() % 100 + 1; // 1から100までの乱数を得る printf("a[%d] = %d\n", i, a[i]); // 選択された5個の乱数を表示 if ((a[i] >= 20) && (a[i] <= 50)) { i20_50 += 1; } } printf("20以上50以下の数%d個\n", i20_50); return 0; } ```