猜数字游戏 C语言

猜数字游戏 C语言介绍

本文介绍了C语言中随机数生成的基本原理和应用。通过rand()和srand()函数配合使用,结合time()函数作为随机种子,给出了1-100随机数的生成公式,并展示了完整的猜数字游戏代码实现。实现真正的随机数生成。

文章详细说明了各函数的参数类型、返回值及所需头文件。同时展示了一个猜数字游戏的实现,该游戏允许用户5次机会猜测1-100的随机数,并提供大小提示。程序采用菜单驱动方式,包含开始游戏和退出选项。通过srand((unsigned int)time)确保每次运行生成不同的随机序列,解决了rand()默认固定序列的问题。

随机数的生成

rand()函数

首先要弄一个随机生成数 rand()

返回值是int类型 参数类型无类型

包含头文件<stdlib.h>

这里显示每回打印的都是生成相同的随机数

如何生成1到100随机数

rand()%100 是0到99

而 rand()%100+1 是1到100

那么怎么生成100到200

100+rand%(200-100+1)

从而公式 a+rand%(b-a+1)

srand()函数

这时需要一个标准去改变 srand()函数

srand函数返回类型无返回类型

参数类型是无符号整形类型

包含头文件<stdlib.h>

rand()函数默认是srand(1)

因为srand函数需要随机值 而生成的也是随机值 我们无法每回需要它 就去输入一个标准 因此引入time()函数

time()函数

返回值是time_t类型 参数是指针形式

包含头文件<time.h>

因为srand参数需要unsigned int类型 所以需要强制转换time的类型

从而随机值能生成

猜数字游戏

void fas()
{
int ret=rand()%100+1;
int b = 0;
int c = 5;

do
{
printf("请输入猜的数字 有5次机会\n");
scanf("%d", &b);
if (b > ret)
{
printf("猜大了\n");
}
if (b < ret)
{
printf("猜小了\n");
}
if (b == ret)
{
printf("猜对了\n");
break;
}
c--;
} while (c);
if (c == 0)
{
printf("机会用完\n");
}

}

void gas()
{
printf("猜数字游戏\n");
printf("----1开始游戏----\n");
printf("----0退出游戏-----\n");
}
int main()
{
int inpot = 1;
srand((unsigned int)time);
gas();
printf("请输入选择");
do
{
gas();
printf("请输入选择");
scanf("%zd", &inpot);

switch (inpot) {

case 1:
fas();
case 0:
printf("退出游戏");
break;
default:
printf("输入错误请重新输入");
}

} while (inpot);
return 0;
}

相关推荐
北冥没有鱼啊8 小时前
UE5 离谱问题,角色动画不播放
游戏·ue5·ue4·游戏开发·虚幻
薛定谔的猫喵喵8 小时前
基于Python+PyGame实现的一款功能完整的数独游戏,支持多难度选择、实时验证、提示系统、成绩记录,并采用多线程优化加载体验。(文末附全部代码)
python·游戏·pygame
SmartRadio10 小时前
ESP32-S3多设备KVM远程控制系统-虚拟USB有线键鼠+游戏宏(压枪/自瞄)+云玩一体化实现方案
网络·游戏·计算机外设·esp32
RoboWizard11 小时前
高速游戏电脑畅玩寒假 1月DIY配置攻略
游戏·电脑
2501_9445264212 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 收藏功能实现
android·java·开发语言·javascript·python·flutter·游戏
2501_9445264212 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 个人中心实现
android·java·javascript·python·flutter·游戏
开开心心_Every1 天前
文件数量统计工具:支持多层文件夹数量统计
游戏·微信·pdf·excel·语音识别·swift·lisp
2301_780789661 天前
游戏行业抗 DDoS 方案:高并发场景下的 CC 攻击拦截与体验平衡
安全·web安全·游戏·ddos
综合热讯1 天前
云游戏挑选四大核心:延迟、画质、内容、价格——基于真实数据的决策手册
游戏
iCan_qi1 天前
【游戏开发】一键式图集合并图集分割工具
python·游戏·工具·贴图