ページ 11

C言語で数あてゲームを作りたい

Posted: 2022年6月27日(月) 18:33
by 匿名希望
C言語初心者です。

コード:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void)
{
    int i,j,ans, pl, rireki[11];

    srand((unsigned)time(NULL));

    ans = rand() % 90 + 10;

    printf("数当てゲームです。\n");
    printf("二桁の整数をあててください。\n");

    for (i = 10; i > 0; i--)
    {
        printf("あと%d回です。\n", i);

        printf("答えを入力してください>");
        scanf_s("%d", &pl);
        rireki[i] = pl;

        if (pl == ans) break;
        if (pl > ans) printf("もっと小さい数です。");
        if (pl < ans) printf("もっと大きい数です。");
    }

    if (i == 0) printf("\n残念、失敗です。正解は%dでした。", ans);
    else printf("あたりです、流石ですね。(正解までにかかった回数:%d)", 11 - i);

    for (j = 11-i; j > 0; j--)
    {
        printf("\n入力履歴を表示します:%d\n", rireki[j]);
    }
    return 0;
}
といったコードで数あてゲームを作ろうとしたのですが、どうしても入力履歴が正しく表示されません。どうしたらよいのでしょうか。
エラーは出てくれませんでした。

Re: C言語で数あてゲームを作りたい

Posted: 2022年6月27日(月) 19:18
by みけCAT
入力履歴として出力している添字が不適切です。

コード:

for (j = 11-i; j > 0; j--)
のかわりに

コード:

for (j = 10; j > 0 && j >= i; j--)
とするといいでしょう。