C语言实现猜数字游戏

article/2025/4/6 18:14:29

C语言实现猜数字游戏

目录

  • 猜数字游戏
    • 内容
    • 方法
  • 生成随机数的方法
  • 代码实现
  • 总代码
  • 版本2

猜数字游戏

前言

C生万物,想要学好编程,就要多敲代码。对于C中小白来说,学习了控制语句之后(顺序、选择和循环),写一个小游戏来练手还是很有必要的。

内容

顾名思义,猜数字游戏就是让系统随机生成一个数字,由玩家来猜,之后系统反馈信息,猜大了还是猜小了,逐一减少默认数字的范围之后,最终锁定目标。

方法

方法:
1、生成游戏菜单 1. play(进入游戏) 0. exit (退出游戏)
2、使用循环语句,构建游戏框架,使玩家可以进行多次游戏。
3、设计游戏具体思路。使系统生成一个随机数,让玩家输入一个数字,然后两个数字对比,根据反馈信息,逐渐锁定目标。

生成随机数的方法

在这里插入图片描述
单单使用rand() 函数来生成随机数是不行的,因为它每玩一次生成的随机数都是相同的,即随机数不随机,所以要通过srand()函数,种下一个随机种子,来产生随机数。根据时间每时每刻都是变化的,可以用time()时间函数来产生种子。
在这里插入图片描述
在这里插入图片描述
这里
time_t
的类型就是 在C语言中被定义为长整型,而srand()函数的参数类型为unsigned int (无符号整形),所以使用时要强制类型转换,而且**time()**函数,不需要设置参数,故用NULL代替。

代码实现

代码实现:
(1)菜单函数
void menu()

//创建菜单
void menu()
{printf("********************************************\n");printf("********  1. 进入游戏   0. 退出游戏  *******\n");printf("********************************************\n");
}

效果显示
在这里插入图片描述
构建主函数框架:
**int main()
使用 do ----while() 循环,可以使玩家进行多次游戏。用switch语句,控制玩游戏还是,退出游戏。

int main()
{int input = 0;srand((unsigned int)time(NULL));do{menu();printf("请选择(1/0):>");scanf("%d", &input);switch (input){case 0: printf("退出游戏");break;case 1:game();break; default:printf("选择错误,请重新输入!\n");}} while (input);return 0;
}

接下来写游戏主体:
void game() 函数
首先要让系统随机生成一个随机数,因为系统生成的随机数范围太大,猜起来比较耗时,我们先确定一个随机数的范围,在0–100之间。rand()%100+1;就可以得到0-100之间的随机数。

//进入猜数字游戏
void game()
{int ret = rand()%100+1;   //用来生产1-100之间的随机数int guess = 0;while (1){printf("请猜数字:>\n");scanf("%d", &guess);if (guess > ret){printf("猜大了\n");}else if (guess < ret){printf("猜小了\n");}else{printf("恭喜你,猜对了\n");break;}}
}

效果演示:
在这里插入图片描述

总代码

猜数字小游戏总代码

#define _CRT_SECURE_NO_WARNINGS
猜数字游戏
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//创建菜单
void menu()
{printf("********************************************\n");printf("********  1. 进入游戏   0. 退出游戏  *******\n");printf("********************************************\n");
}
//进入猜数字游戏
void game()
{int ret = rand()%100+1;   //用来生产1-100之间的随机数int guess = 0;while (1){printf("请猜数字:>\n");scanf("%d", &guess);if (guess > ret){printf("猜大了\n");}else if (guess < ret){printf("猜小了\n");}else{printf("恭喜你,猜对了\n");break;}}
}int main()
{int input = 0;srand((unsigned int)time(NULL));do{menu();printf("请选择(1/0):>");scanf("%d", &input);switch (input){case 0: printf("退出游戏");break;case 1:game();break; default:printf("选择错误,请重新输入!\n");}} while (input);return 0;
}

版本2

版本2

应同学需求,扩充版本2,希望可以满足大家需要

#define _CRT_SECURE_NO_WARNINGS
猜数字游戏
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//创建菜单
void menu()
{printf("********************************************\n");printf("********  1. 进入游戏   0. 退出游戏  *******\n");printf("********************************************\n");
}
//进入猜数字游戏
void game()
{int ret = rand()%100+1;   //用来生产1-100之间的随机数int guess = 0;int max = 100;int min = 0;while (1){printf("请猜数字:>\n");scanf("%d", &guess);if (guess > ret){printf("猜大了\n");max = guess;printf("猜测范围要在%d - %d\n", min,max);}else if (guess < ret){printf("猜小了\n");min = guess;printf("猜测范围要在%d - %d 之间\n", min,max);}else{printf("恭喜你,猜对了\n");break;}}
}int main()
{int input = 0;srand((unsigned int)time(NULL));do{menu();printf("请选择(1/0):>");scanf("%d", &input);switch (input){case 0: printf("退出游戏");break;case 1:game();break; default:printf("选择错误,请重新输入!\n");}} while (input);return 0;
}

实现功能展示

在这里插入图片描述

总结:内容仅供大家参考,有什么疑问的,可以交流一下。


http://chatgpt.dhexx.cn/article/1TweIXA5.shtml

相关文章

C语言程序设计——猜数字游戏

游戏玩法&#xff1a;每次随机生成一个1~100之间的数字&#xff0c;玩家通过输入数字来猜这个数&#xff0c;如果没猜中则提示玩家猜大了或者猜小了&#xff0c;直到玩家猜中数字结束游戏。 游戏玩法非常简单&#xff0c;那么怎么实现呢&#xff1f; 首先对内容进行分析&…

猜数字游戏实现(详解)

目录 前言 一、打印游戏菜单 二、循环条件补充 三、实现猜数字 1、生成随机数 2、猜数字 四、源码 前言 学了这么久的C语言&#xff0c;目前就可以通过我们曾经所学的知识来写一个猜数字游戏。怎么实现的呢&#xff1f;跟着我的脚步往下看吧&#xff01; 思路&#xff1a…

C语言猜数字小游戏---详解+源码

学了一些基础的C语言语法后我们就可以开始试着写一些小程序或者小游戏了&#xff0c;今天我就给大家用C语言写一个简单的猜数字小游戏。 源代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<windows.h> #include<stdlib.h> #…

【C语言编程】实现猜数字游戏

用C语言编程的方法来实现我们在生活中经常玩到的一个猜数字小游戏&#xff0c;其主要玩法就是我们编写出一个程序&#xff0c;起先计算机会先自动生成一个数&#xff0c;这个数也就是我们需要去才对的数&#xff0c;然后玩家在这个程序的执行开始后先输入一个数&#xff0c;拿这…

Python每日一练——第3天:三种猜数字小游戏

前言&#x1f4e2;&#x1f4e2; Python每日一练来啦&#xff0c;本文已收录于&#xff1a;《Python每日一练》专栏 此专栏目的在于&#xff0c;帮忙学习Python的小白提高编程能力&#xff0c;训练逻辑思维&#xff0c;每周持续更新中&#xff0c;欢迎免费订阅&#xff01;&a…

猜数字小游戏——c语言实现(详解)

目录 一、实现目标 二、准备部分 1.1 时间戳 2.1 rand&#xff08;&#xff09;函数 3.1 srand函数 4.1time函数 三、随机数的实现 四、游戏菜单的实现 五、菜单功能的实现 六、游戏主体部分 七、游戏完整代码 八、游戏实现效果图 九、总结 一、实现目标 1.写一个…

通过游戏编程学Python(1)— 猜数字

通过游戏编程学Python 通过游戏编程学Python&#xff08;1&#xff09;— 猜数字 文章目录 通过游戏编程学Python前言一、知识点二、第一个游戏 —— 猜数字1. 玩法简介2. 游戏流程 三、程序代码三、代码详细分析1. import语句2.输入与输出3.While循环4.代码段5.变量类型转换6…

C语言实现猜数字游戏(超详解)

目录 前言 一、游戏描述 二、代码实现 1.生成游戏菜单 2.构建主函数 3.构建游戏函数 三、二分法实现猜数 代码附上: 写在最后&#xff1a; 前言 猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏&#xff0c;下面我将详细介绍该游戏的实现和…

都说要打造个人IP,那到底什么才是个人IP?

什么是个人IP&#xff0c;它由哪些组成&#xff1f; 它由多个方面组成&#xff0c;包括个人的网络行为、习惯、兴趣爱好、位置信息&#xff0c;以及其他可以用于识别个人的数据。 目录 什么是个人IP&#xff0c;它由哪些组成&#xff1f; 第一&#xff0c;性格方面 第二&am…

一键自动修改IP小工具分享

一键自动修改IP小工具分享 1.功能介绍2. 测试环境3. 背景4. 使用方法配置文件修改 5. 补充说明电脑上有多个网卡显示当前IP 6. 参考文档7. .exe程序下载链接 1.功能介绍 功能: 1. 可以一键修改电脑的IP(包括自动获取IP和手动配置固定IP); 2. 配置文件可根据需求修改; 3. 操作简…

普通网红如何打造个人IP?个人IP打造有哪些注意事项?

不管你是做哪个行业的,你一定要把自己个人IP打造成一个爆款,做窄做小,让你的用户去对号入座。 个人IP如何打造?把自己打造成爆款? 比如你是做保险的,你不能所有保险都去做,而是只做某一类保险,只针对某一类人群的保险。 比如只做美国保险,并且只做美国个人方面的报下,针对…

网络 IP

ip地址的分类 既然每个人的ip地址都不一样&#xff0c;那一台主机怎么通过ip地址找到另一台主机的呢&#xff0c;茫茫人海&#xff0c;不可能一个个查找把&#xff0c;所以就有专门的人来管理和分配这个ip地址&#xff0c;看看以前怎么分的地址(了解) 网络号由你所连的网决定&a…

如何打造ip,打造属于自己的护城河?

最近萃见一直在考虑打造个人ip的事情。人一思考起来&#xff0c;就容易魔怔。吃饭在想&#xff0c;走路在想&#xff0c;睡前躺在那也在想。信息瞬息万变的时代&#xff0c;普通人该何去何从&#xff1f; 我记得刚接触互联网这一块的时候流量还是很好获取的&#xff0c;你就往…

如何从零到一打造你的网络个人IP(时代赚钱利器)

大家好,我是夕颜,欢迎来到夕颜聊副业 这两年个人IP和私域运营这几个词异常火热。 我们该如何正确去理解个人IP这个词和打造你的IP ? 很多人对于个人IP存在一些误导 我卖个减肥药和护肤品是不是个人IP? 答案:不是,在我认为卖产品是以你个人的名义去帮别人做品牌IP,不…

[网络] 大话IP地址

本文说的IP是指IPv4,IPv6不在本文的讨论范围之内。 IP是由32位2进制组成,通常为了表示方便,用4组十进制数字表示, 如果两个IP地址,它的Net_ID相同,只有Host_ID不同,表示它们在同一个网段内,在局域网内,同一个网段的数据可以通过广播传递,而不同网段则必须通过路由器…

世界上最百变的人不是女友,竟然是......

问&#xff1a;“这世上最百变的人是谁&#xff1f;” 答&#xff1a;“女友。” 不好意思你出局了。 正确答案是&#xff1a;“老妈&#xff01;” 老妈才是走在朋友圈前端的弄潮儿。 我的老妈造型百变&#xff0c; 丝巾、墨镜、高跟鞋&#xff0c; 可以几十套衣服不重样。 我…

个人 IP 打造方法

什么是个人ip&#xff1f; “个人ip&#xff0c;网络用语&#xff0c;指个人对某种成果的占有权&#xff0c;在互联网时代&#xff0c;它可以指一个符号、一种价值观、一个共同特征的群体、一部自带流量的内容。每个人都是产品&#xff0c;把自己当成这辈子最好的产品去打造。…

新手如何打造个人IP?

最近经常有人在抖音和微博上问我&#xff0c;对于不熟悉自媒体的互联网新手&#xff0c;是否有可能打造个人IP呢&#xff1f;对于准备打造个人IP的新手&#xff0c;需要做哪些准备&#xff1f;从何处开始着手呢&#xff1f; 目录 自媒体新手打造个人IP的三个重要步骤。 第一…

手把手教你打造个人IP

现在的职场环境对个人发展实在太不友好&#xff0c;尤其是互联网人&#xff0c;随着年级的增长&#xff0c;有很大概率遭遇职场中年危机&#xff0c;基于此&#xff0c;建议每个人都要开启自己的副业&#xff0c;从而分担风险。 对个人来说&#xff0c;最好的副业就是自媒体&am…