目录

前言

思路

方法

实现过程

1.我们先从易到难,打印出我们的菜单。(采用函数的方法,届时我们可以直接使用)

2.接下来,我们可以实现游戏主体(仍然采用函数的方法,代码更加清晰)

生成随机数的方法

那么我们就可以写游戏的主体了。

开始编写所需的代码,来实现选择

最终结果​编辑

全部代码


前言

C语言的学习中,作为新手小白,学会了循环后,我们就可以写一个简单的小程序练练手了!

思路

系统首先生成一个随机数,我们可以通过不停的输入,系统输出过大或者或小的反馈,并通过逐一减少默认数字的范围之后,最终锁定目标。

方法

1.随机数的生成。

2.游戏菜单,可供玩家选择游玩或者退出。

3.不管玩家开不开始游戏,都需要先循环一次,就考虑到用do…while循环和switch分支循环来判断玩家输入的数字,并做出相应的代码运行。

实现过程

1.我们先从易到难,打印出我们的菜单。(采用函数的方法,届时我们可以直接使用)

void menu()
{printf("***************\n");printf("**** 1.play ***\n");printf("**** 0.exit ***\n");printf("***************\n");
}

这里使用void

如果函数无参数,那么应该声明其参数为void

如果我们所写的函数不接受任何参数,那么一定要指明其参数为void。

2.接下来,我们可以实现游戏主体(仍然采用函数的方法,代码更加清晰)

想要实现这一步,我们就要清楚,系统如何生成随机数!

生成随机数的方法

1.

 2.

3. 这里time_t的类型就是 在C语言中被定义为长整型,而srand()函数的参数类型为unsigned int (无符号整形),所以使用时要强制类型转换,而且**time()**函数,不需要设置参数,故用NULL代替。

然后根据我们从MSDN看到的,头文件需要加入

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

但是,当我们运行时可以发现,生成的随机数有时会过大,所以我们采用对rand取余100,那么生成的数字一定是0~99,然后加上1,即可生成我们所要的随机数!

int number1 = rand() % 100;

那么我们就可以写游戏的主体了。

void game()
{int random_num = rand() % 100 + 1;int input = 0;while (1){printf("请输入你想要猜的数值\n");scanf("%d", &input);if (input > random_num)printf("您输入数值过大\n");else if (input < random_num)printf("您输入的数值过小\n");else{printf("恭喜你!猜对了捏!\n");break;}}
}

开始编写所需的代码,来实现选择

int main()
{int input = 0;srand((unsigned)time(NULL));//srand()函数的参数类型为unsigned int (无符号整形),所以使用时要强制类型转换,而且**time()**函数,不需要设置参数,故用NULL代替。do{menu();printf("请输入1或0,开始或者退出游戏\n");scanf("%d", &input);switch (input){case 1:game();break;case 0:break;default:    printf("选择错误,请重新输入!\n");break;}} while (input);return 0;
}

最终结果

全部代码

​
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h> void menu()
{printf("***************\n");printf("**** 1.play ***\n");printf("**** 0.exit ***\n");printf("***************\n");
}
void game()
{int random_num = rand() % 100 + 1;int input = 0;int max=100;int min=0;while (1){printf("请输入你想要猜的数值\n");scanf("%d", &input);if (input > random_num){printf("您输入数值过大\n");max= input;printf("猜测范围要在%d - %d\n", min,max);}else if (input < random_num){printf("您输入的数值过小\n");min = input;printf("猜测范围要在%d - %d\n", min,max);}else{printf("恭喜你!猜对了捏!\n");Sleep(1000); system("cls");  break;}}
}int main()
{int input = 0;srand((unsigned)time(NULL));do{menu();printf("请输入1或0,开始或者退出游戏\n");scanf("%d", &input);switch (input){case 1:game();break;case 0:break;default:   printf("选择错误,请重新输入!\n");break;}} while (input);return 0;
}​
你的❤️点赞是我创作的动力的源泉
你的✨收藏是我奋斗的方向
你的												

经典简单的猜数字小游戏相关推荐

  1. 用python做C语言的猜数字游戏,[Python3 练习] 007 简单的猜数字小游戏

    题目:简单的猜数字小游戏 (1) 描述 程序随机生成一个数字,玩家用键盘输入所猜数字,在规定次数内猜对为胜. (2) 要求 程序随机生成一个 1 到 100 的自然数 有 7 次机会去猜 机会用尽之前 ...

  2. python编写一个简单的猜数字小游戏

    该脚本包含了python基础的部分内容,python初学者既可以学习借鉴,也可以向朋友去装13. 本次编写的内容需要导入一个第三方模块random,可获得规定范围的随机数. 首先打开pycharm中下 ...

  3. Java实现简单的猜数字小游戏

    一. 题目 猜数字小游戏规则: 系统自动生成一个随机整数然后由用户输入一个猜测的数字,如果输入数字比生成数大,则提示"猜大了":如果输入数字比生成数小,则提示"猜小了&q ...

  4. 用while实现一个简单的猜数字小游戏

    中午闲着没事干,就写个小游戏吧,这个小游戏游戏规则就很简单,就是系统随机产出一个整数,然后用户输一个数字,如果输入的数字大于系统的整数就弹出输大了,如果小于,就弹出输小了,规则很简单就这样.下面见代码 ...

  5. 简单的猜数字小游戏(1 ~ 100)

    目录 一.实现功能 二.实现思想 1.设计菜单模型 2.设计菜单选项 3.设计游戏模块 三.最终实现 1. 实现程序 2.运行结果 程序结束 一.实现功能 通过一个菜单提示你选择相应的选项,选择你是否 ...

  6. 用C语言实现简单的猜数字小游戏

    1.要求: (1)游戏开始页面可以选择是否开始游戏: (2)将系统产生的随机数控制在1~100: (3)根据玩家输入数字的大小进行提示: (4)玩家可以一直游玩,不用重复运行游戏. 2.设计思路及知识 ...

  7. c语言猜数字游戏新建,C语言编程 如何构建一个简单的猜数字小游戏

    #include//生成随机函数起点时用到time.h int main() { int number1 = 0, choice = 0, number2 = 0; printf("$$$$ ...

  8. c语言猜大小游戏的代码,C语言编程 如何构建一个简单的猜数字小游戏

    #include #include #include//生成随机函数起点时用到time.h int main() { int number1 = 0, choice = 0, number2 = 0; ...

  9. C语言详解生成随机数的过程,time函数、时间戳timer、rand函数和srand函数,附猜数字小游戏

    第十一篇:随机数详解 一.准备工作(预备知识) 1.1.生成伪随机数(函数rand) 1.2.伪随机数"变成"随机数(函数time) 1.3.生成确定范围随机数 二.练手随机数经典 ...

最新文章

  1. seaborn使用violinplot函数可视化小提琴图、使用stripplot函数添加抖动数据点(jittered points)、显示数据的稠密程度
  2. MATLAB三维曲面绘图你不得不知道的...
  3. java仿qq登录 界面设计,Java Swing仿QQ登录界面效果
  4. 全年营业额怎么计算_门店盈亏平衡计算及案例分析 | 商品管理
  5. 网页弹出窗口代码【来源于网络】
  6. 移动端(H5)弹框组件--简单--实用--不依赖jQuery
  7. 研究生信息管理系统(C++实现)
  8. 基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD
  9. IDEA代码格式化快捷键
  10. Kettle使用教程(问题)
  11. 【JZOJ】【数论】立体井字棋
  12. SEO关键词产出之词频分析(关键词工具篇)
  13. 推荐适合胖mm大码 连衣裙 显瘦女装穿搭
  14. 4G信号变卡的主要原因
  15. 电子科大2020计算机考研真题,2021电子科技大学考研历年真题复习资料
  16. 时间序列分析——基于R语言案例数据课后数据
  17. gedit的安装及插件使用
  18. HTB打靶(Active Directory 101 Reel)
  19. microbit与python编程_支持 microbit 在线编程和仿真 OpenRoberta
  20. Foxit Reader(福昕PDF阅读器) v4.3.1.218 绿色专业版

热门文章

  1. 什么是端口映射?本文详尽解析!
  2. 笔记本的网络出现红叉,网络连接不上,网络不可用
  3. I-Deas TMG 培训资料 (1)
  4. (转载)Linux内核源代码情景分析---第四章 进程与进程调度
  5. 云架构Linux运维,【Linux云计算架构:第三阶段-Linux高级运维...
  6. 绿米Aqara、智汀、Homekit等设备如何完成一键跨品牌联动
  7. 联想拯救者15isk清灰_联想拯救者-15介绍_联想 拯救者15-ISK_笔记本评测-中关村在线...
  8. boy and girl
  9. 行人与车辆检测计数人脸识别
  10. python基础训练—字符串