PROG 7.2

<問題>要素数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;


}