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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
匿名希望

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

#1

投稿記事 by 匿名希望 » 1年前

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;
}
といったコードで数あてゲームを作ろうとしたのですが、どうしても入力履歴が正しく表示されません。どうしたらよいのでしょうか。
エラーは出てくれませんでした。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

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

#2

投稿記事 by みけCAT » 1年前

入力履歴として出力している添字が不適切です。

コード:

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

コード:

for (j = 10; j > 0 && j >= i; j--)
とするといいでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

返信

“C言語何でも質問掲示板” へ戻る