21xrx.com
2025-03-25 07:15:04 Tuesday
文章检索 我的文章 写文章
如何用C语言设计猜数字游戏
2023-06-15 13:36:04 深夜i     8     0
C语言 猜数字 游戏设计

猜数字游戏是一种简单而有趣的游戏,需要在规定的次数内猜出随机生成的数字。在这篇文章中,我们将介绍如何使用C语言设计一个简单的猜数字游戏。

首先,我们需要定义一个随机生成数字的函数。C语言中,可以使用rand()函数来生成随机数。为了保证每次生成的随机数都不同,需要在每次使用前设置一个种子,可以使用srand()函数来设置。下面是一个示例代码:

#include 
#include 
int getRandomNumber(int min, int max) {
  srand(time(NULL));
  return rand() % (max - min + 1) + min;
}

接下来,我们需要编写主程序。在主程序中,先调用getRandomNumber()函数来生成随机数字,然后让用户猜测数字,并根据用户猜测的结果输出提示。下面是一个示例代码:

#include 
int main() {
  int min = 1;
  int max = 100;
  int randomNumber = getRandomNumber(min, max);
  int guess;
  int count = 0;
  
  printf("猜数字游戏开始!\n");
  
  do {
    printf("请输入一个%d%d之间的整数:", min, max);
    scanf("%d", &guess);
    count++;
    
    if(guess < randomNumber) {
      printf("猜小了,请再试一次。\n");
    } else if(guess > randomNumber) {
      printf("猜大了,请再试一次。\n");
    } else {
      printf("恭喜你,猜对了!总共猜了%d次。\n", count);
    }
  } while(guess != randomNumber && count < 10);
  
  if(count == 10) {
    printf("很遗憾,你没有在规定次数内猜对。正确答案是%d。\n", randomNumber);
  }
  
  return 0;
}

在上面的代码中,我们定义了一个最多猜测10次的限制,如果用户没有在规定次数内猜对,程序会输出正确答案。

最后,我们可以将上面的代码整合到一个函数中,方便调用:

#include 
#include 
#include 
int getRandomNumber(int min, int max) {
  srand(time(NULL));
  return rand() % (max - min + 1) + min;
}
void playGuessNumber(int min, int max, int maxAttempt) {
  int randomNumber = getRandomNumber(min, max);
  int guess;
  int count = 0;
  
  printf("猜数字游戏开始!\n");
  
  do {
    printf("请输入一个%d%d之间的整数:", min, max);
    scanf("%d", &guess);
    count++;
    
    if(guess < randomNumber) {
      printf("猜小了,请再试一次。\n");
    } else if(guess > randomNumber) {
      printf("猜大了,请再试一次。\n");
    } else {
      printf("恭喜你,猜对了!总共猜了%d次。\n", count);
    }
  } while(guess != randomNumber && count < maxAttempt);
  
  if(count == maxAttempt) {
    printf("很遗憾,你没有在规定次数内猜对。正确答案是%d。\n", randomNumber);
  }
}
int main() {
  playGuessNumber(1, 100, 10);
  return 0;
}

文章

  
  

评论区