STEP 1.3

<問題 >1桁の正の整数 (1〜 9) の乱数を10個、配列に格納し、表示せよ。
7 が1つもなかったときは「7 がなかったよ」と出力し、あったときはその回数を出力する。たとえば「7 が3 回あったよ」と出力する。


<実行結果>
(たとえば)
s[0] = 6
s[1] = 7
s[2] = 4
s[3] = 3
s[4] = 4
s[5] = 1
s[6] = 4
s[7] = 7
s[8] = 4
s[9] = 7
s[1]に7があったよ
s[7]に7があったよ
s[9]に7があったよ
7が3回あったよ

(こちらも)
a[0] = 9
s[1] = 8
s[2] = 8
s[3] = 1
s[4] = 9
s[5] = 3
s[6] = 1
s[7] = 8
s[8] = 4
s[9] = 3
7がなかったよ



解答例

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

/* Nを10 */
#define N 10

int main (void) {
    int s[N];
    int i;
    int flag = 0; /* 旗 7があったら1にする。0 false, 1 True */
    int n;

    srand(time(NULL));

    /* N個の乱数 */
    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]);

    /* STEP 1.1   7があるかどうかをチェック。flag変数に注意 */

    /* STEP 1.2   7がなかったか。   あったなら、回数 */



    getchar();

    return 0;

}