<問題>要素数10の配列dに、ランダムに生成された1-9までの整数を格納し、表示しよう。
<実行結果>
(たとえば)
d[0] = 1
d[1] = 4
d[2] = 7
d[3] = 7
d[4] = 8
d[5] = 3
d[6] = 5
d[7] = 1
d[8] = 5
d[9] = 4
解答例 #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 10 int main (void) { int d[N]; int i; /* C言語では乱数生成の素になる数を設定。種といいます。設定しないと、生成される乱数の系列がいつも同じになる */ srand((unsigned int)time(NULL)); /* 乱数を作って、代入 */ for (i = 0; i < N; i++) /* 1-9の乱数を発生して、格納 */ d[i]= rand()%9 + 1 ; /* そのままだと0 - RAND_MAX. どうしよう。 まず0 - 8にしてしまう方法は */ /* 出力するループ1 */ for (i = 0; i < N; i++) /* 上のループでプリントしてもいいけれど、もう一 度、添え字0からループ */ printf("d[%d] = %d \n", i, d[i]); return 0; }