STEP 1.1 探索(search)

<問題>  1桁の正の整数 (1〜9) の乱数を20個、配列に格納せよ。この配列中に7があれば「7があったよ」と出力する。複数あれば、繰り返し出力する。
<実行結果>
s[0] = 9
s[1] = 2
s[2] = 7
s[3] = 8
s[4] = 5
s[5] = 2
s[6] = 4
s[7] = 9
s[8] = 9
s[9] = 5
s[10] = 8
s[11] = 9
s[12] = 8
s[13] = 7
s[14] = 6
s[15] = 2
s[16] = 5
s[17] = 7
s[18] = 5
s[19] = 1
7があったよ
7があったよ
7があったよ

<ヒント> Cの絵本 p64 - p65 (配列。for ループを使った定番の処理)

<コメント> 教科書 71ページの話題(集合と探索)に関係



解答例

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

/* マクロ Nを20に */
#define N 20

int main (void) {
    int s[N];
    int i;

    srand((unsigned)time(NULL));

    /* 1桁乱数を作って、代入 */
    for (i = 0; i < N; i++) /* 配列処理の定番パターン。以下、どれも同じ */
        s[i]= rand()%9 + 1 ;

    /* 出力するループ */
    for (i = 0; i < N; i++)
        printf("s[%d] = %d \n", i, s[i]);

    /* 7があるかを調べるループ */
    for (i=0 ;     ;     ) 



    return 0;

}