21xrx.com
2024-12-23 02:56:24 Monday
登录
文章检索 我的文章 写文章
如何用C语言设计猜数字游戏
2023-06-15 13:36:04 深夜i     --     --
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;

}

文章

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复