// // Hi&Lo 数あてゲーム // #include #include #include #include const int NUMBER_MAX = 1000; // 数の最大値 int main (void) { srand((unsigned int)time(0)); // 乱数の種を現在時刻から作ります。 int x = (rand () % NUMBER_MAX) + 1; // 1からNUMBER_MAXまでの数 int a; int n = 0; do { printf("1から%dまでの数を当ててください。", NUMBER_MAX); scanf("%d", &a); n ++; if (a < x) { printf("小さすぎ!\n"); } if (a > x) { printf("大きすぎ!\n"); } } while (a != x); printf("正解です。\n"); printf("入力回数 %d で当たりました。\n", n); int m = ceil(log((double)NUMBER_MAX) / log(2.0)); if (abs(n - m) <= 2) { printf("まずまずです。\n"); } else if (n < m) { printf("すばらしい。\n"); } else { printf("もう少しがんばろう。\n"); } }