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

**猜数字游戏是令游戏机随机产生一个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 a,b,i=1,num,d=0,f=0,g=0;
 scanf("%d %d",&a,&b);
 if(num>=0)
   { 
      while(i<=b)
     {  scanf("\n%d",&num);
         if(num>=0)
         {
          if(num==a) break;
          if(num>a) printf("Too big\n");
          if(num<a) printf("Too small\n");
          i++;
         }
        else 
        { printf("Game Over"); d=1; break;
        }
    }
     if(d==0)
      {
       if(i==1) printf("Bingo!");
       if(i==2||i==3) printf("Lucky You!");
       if(i>3&&i<=b) printf("Good Guess!");
       if(i>b)  printf("Game Over");
      }
  }
  else
    {
    printf("Game Over");}
    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() != &#39;y&#39;: print("感谢游玩,再见!") break ``` --- #### 关键技术点解析 1. **随机生成** 使用`rand()`函(C语言)或`random.randint()`函(Python),可以生成指定范围内的随机整[^4]。 2. **条件判断** 根据用户输入的值与目标值的关系,别处理三种情况:“小了”、“大了”和“对了”。 3. **循环机制** 使用`while`循环不断接收用户输入,并持续比较直到用户中为止。 4. **用户体验优化** 添加菜单选项、统计测次等功能可提升游戏趣味性和互动性[^3]。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值