用C语言实现猜数字游戏

 更新时间:2020年10月11日 15:31:12   作者:懒洋洋  
这篇文章主要为大家详细介绍了用C语言实现猜数字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C语言实现猜数字的具体代码,供大家参考,具体内容如下

问题:计算机随机生成一个数字,用户进行猜数字,当用户猜错时,提醒用户猜高/猜低,直到用户猜的数字与计算机给的随机数一致时,提示猜对了并结束本次游戏。

思路:整个程序分为三个部分。

1、使用printf完成一个主菜单,方便用户操作。
2、写一个game函数,完成猜数字游戏的过程。
3、主函数,调用game函数,最终实现猜数字游戏。

重点:如何生成一个随机数。

如果直接使用to_guess = rand() % 100 + 1,可以生成一个1~100之间的随机数,但每次重新运行程序,产生的随机数都是固定的,这就需要我们想办法来解决这个问题。通过srand函数来设置随机种子,并借助time函数让每次产生的随机数序列都完全不同。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu() {
  printf("****************************\n");
  printf("   猜数字游戏   \n");
  printf(" 1、开始游戏,0、结束游戏 \n");
  printf("   请输入0或1   \n");
  printf("****************************\n");
  return;
}
void game() {
  int num = 0;
  int to_guess = rand() % 100 + 1;
  while (1) {
     printf("请输入猜的数字:\n");
     scanf("%d", &num);
     if (num > to_guess) {
       printf("高了!\n");
     }
     else if (num < to_guess) {
       printf("低了!\n");
     }
     else {
       printf("恭喜你猜对了!\n");
       break;
     }
  }
}
int main() {
  int a;
  menu();
  srand((unsigned int) time(0));
  while (1) {
    printf("请输入您的选择:\n");
     if (scanf("%d", &a)) {
       if(a==1) {
         game();
     }
      else if (a == 0) {
         printf("goodbye!\n");
         break;
       }
       else {
         printf("您的输入有误,请重新输入\n");
       }
     }
  }
  system("pause");
  return 0;
}

运行结果:

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 深入解析C++编程中__alignof 与__uuidof运算符的使用

    深入解析C++编程中__alignof 与__uuidof运算符的使用

    这篇文章主要介绍了C++编程中__alignof 与__uuidof运算符的使用,是C++入门学习中的基础知识,需要的朋友可以参考下
    2016-01-01
  • C语言三子棋小游戏实现全程

    C语言三子棋小游戏实现全程

    三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙、井字棋等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了,想用c语言做出这个游戏,事实上也是比较简单的,下面通过c语言进行对五子棋的分析
    2022-05-05
  • C++ 花括号{}初始化小结

    C++ 花括号{}初始化小结

    在C++11及以后的版本中,花括号{}语法在不同语境下有不同的用法,本文就详细的介绍C++ 花括号{}初始化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • C语言实现简单的<三子棋>案例

    C语言实现简单的<三子棋>案例

    这篇文章主要介绍了C语言实现简单的《三子棋》,本文通过功能区分一步步实现该案例,通过逐步的解析和代码列举,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 使用Qt实现旋转动画效果

    使用Qt实现旋转动画效果

    这篇文章主要为大家详细介绍了如何使用Qt实现旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • Visual Studio 2022无法打开源文件的解决方式

    Visual Studio 2022无法打开源文件的解决方式

    这篇文章主要介绍了Visual Studio 2022无法打开源文件的解决方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • C语言malloc分配问题详解

    C语言malloc分配问题详解

    这篇文章主要介绍了c语言 malloc函数的分配问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-09-09
  • C++ STL之slist单向链表容器使用方式

    C++ STL之slist单向链表容器使用方式

    这篇文章主要介绍了C++ STL之slist单向链表容器使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • C++实现LeetCode(43.字符串相乘)

    C++实现LeetCode(43.字符串相乘)

    这篇文章主要介绍了C++实现LeetCode(43.字符串相乘),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 利用rapidjson实现解析嵌套的json的方法示例

    利用rapidjson实现解析嵌套的json的方法示例

    今天小编就为大家分享一篇关于利用rapidjson实现解析嵌套的json的方法示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04

最新评论