C言語 数字当てゲーム do wihle 入力履歴表示

 

 

#include <time.h>

#include <stdio.h>

#include <stdlib.h>

 

#define MAX_STAGE 10 /*最大入力回数 */

 

 

int main(void)

{

    

    int i;

    int stage;

    int no;

    int ans;

    int num[MAX_STAGE];

    

    srand(time(NULL));

    ans = rand() % 1000;

    

    printf("0~999の整数を当ててください");

    

    stage = 0;

    do{

        printf("残り%d回。いくつかな~?",MAX_STAGE - stage);

        scanf("%d",&no);

        num[stage++] = no;

        if(no > ans)

            printf("\aもっと小さいよ\n");

        else if(no < ans)

            printf("\aもっと大きいよ\n");

        } while(no != ans && stage < MAX_STAGE); /*---- END do while -----*/

        

        if(no != ans)

            printf("残念。正解は%dでした。",ans);

         else {

            printf("正解です。%d回で当たりましたね",stage);

        }

    

    puts("\n---入力履歴----"); /* 入力履歴表示 */

    for(i = 0; i < stage; i++)

        printf("%2d : %4d %+4d\n", i + 1, num[i], num[i] - ans);

        return(0);

}