7-24 猜数字游戏(15 分)

本文介绍了一款猜数字游戏的程序设计实现,游戏要求玩家在限定次数内猜出由计算机随机生成的数字。程序能够根据玩家输入的数字提供大小提示,并根据不同情况输出不同的结果反馈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

输入格式:

输入第一行中给出两个不超过100的正整数,分别是游戏机产生的随机数、以及猜测的最大次数N。最后每行给出一个用户的输入,直到出现负数为止。

输出格式:

在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。

输入样例:
58 4
70
50
56
58
60
-2
输出样例:
Too big
Too small
Too small
Good Guess!

代码:

#include <stdio.h>
int main(){
    int count=-1, N=-1;
    int number=-1, guess=-1;
    count = 0;
    scanf("%d%d", &number, &N);
    while(count<N){
        scanf("%d", &guess);
        count++;
        if(guess<0){
            break;
        }
        if(guess==number){
            if(count==1){
                printf("Bingo!\n");
                break;
            }
            else if(count<=3){
                printf("Lucky You!\n");
                break;
            }
            else{
                printf("Good Guess!\n");
                break;
            }
        }
        else if(guess<number){
            printf("Too small\n");
        }
        else{
            printf("Too big\n");
        }
    }
    if(guess<0 || count==N&&guess!=number){
        printf("Game Over\n");
    }

    return 0;
}
### 猜数字游戏的实现与规则 猜数字游戏是一种经典的交互式程序设计案例,通常用于教学编程基础以及逻辑控制结构的应用。以下是该游戏的核心实现方法及其规则说明。 #### 游戏规则 1. 计算机生成一个范围内的随机数(例如 1 到 100 的整数)。 2. 用户尝试猜测该随机数的具体数值。 3. 每次用户输入一个猜测值后,计算机提供反馈: - 如果用户的猜测值小于目标值,则提示“猜小了”[^1]; - 如果用户的猜测值大于目标值,则提示“猜大了”[^2]; - 如果用户的猜测值等于目标值,则提示“恭喜你,猜对了”,并结束当前轮次的游戏[^3]。 4. 可选功能:允许用户多次玩游戏,在每一轮结束后询问是否继续[^4]。 --- #### C语言实现示例 以下是一个完整的基于C语言的猜数字游戏代码: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> void menu() { printf("******************************\n"); printf("*** Welcome to Guess Game ***\n"); printf("**** 1. Play Game ***********\n"); printf("**** 0. Exit Game ***********\n"); printf("******************************\n"); } void game() { int ret = rand() % 100 + 1; // 随机生成1到100之间的整数 int guess = 0; while (1) { printf("Please enter your guess: "); scanf("%d", &guess); if (guess < ret) { printf("Too small!\n"); // 提示猜小了 } else if (guess > ret) { printf("Too big!\n"); // 提示猜大了 } else { printf("Congratulations! You guessed it right!\n"); // 提示猜对了 break; } } } int main() { srand((unsigned int) time(NULL)); // 初始化随机种子 int choice; do { menu(); printf("Enter your choice: "); scanf("%d", &choice); switch(choice) { case 1: game(); // 开始游戏 break; case 0: printf("Exiting the game...\n"); break; default: printf("Invalid choice. Please try again.\n"); } } while (choice != 0); return 0; } ``` --- #### Python实现示例 以下是基于Python的猜数字游戏代码: ```python import random def play_game(): target = random.randint(1, 100) # 随机生成1到100之间的整数 attempts = 0 while True: guess = int(input("请输入一个数字(1-100):")) attempts += 1 if guess < target: print("猜小了!") # 提示猜小了 elif guess > target: print("猜大了!") # 提示猜大了 else: print(f"恭喜你,猜对了!总共用了{attempts}次机会。") break if __name__ == "__main__": while True: print("欢迎来到猜数字游戏!") play_game() continue_game = input("想再玩一次吗?(y/n): ") if continue_game.lower() != 'y': print("感谢游玩,再见!") break ``` --- #### 关键技术点解析 1. **随机数生成** 使用`rand()`函数(C语言)或`random.randint()`函数(Python),可以生成指定范围内的随机整数[^4]。 2. **条件判断** 根据用户输入的数值与目标值的关系,别处理三种情况:“猜小了”、“猜大了”和“猜对了”。 3. **循环机制** 使用`while`循环不断接收用户输入,并持续比较直到用户猜中为止。 4. **用户体验优化** 添加菜单选项、统计猜测次数等功能可提升游戏趣味性和互动性[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值