如何用c语言做出一个猜数字的游戏

如有错误,还请大佬指正!!

文章目录

  • 一、猜数字游戏的内容
  • 二、大概的思路
    • 1.采用循环结构和条件判断语句
    • 2.引入生成随机数的库函数<time.h>
    • 3.详细介绍一下do while语句和其他循环结构的区别  
  • 具体代码和运行结果
  • 总结


一、猜数字游戏的内容:先由计算机提示随机产生一个在1~100的随机数(正整数),然后由游戏者猜数。猜数过程中,如果有错,计算机提示猜高了或猜低了;如果猜对,游戏者获胜;游戏者共可以猜10次,若10次均未猜对,则计算机获胜。


二、大概的思路

1.采用循环结构和条件判断语句,这样可以让游戏者猜多次并且在循环结构中加入条件语句来判断是否猜对或猜错,直到猜完10次后打印结果。

2.引入生成随机数的库函数<time.h>头文件来保证能够产生1~100内的随机数

time.h 头文件提供了与时间和日期相关的函数和数据类型。

以下是 <time.h> 库中常用的时间类型和结构:

time_t:用于表示时间的整型类型,通常表示自1970年1月1日以来的秒数。
struct tm:用于表示日期和时间的结构体,包含年、月、日、时、分、秒等字段。
clock_t:用于表示处理器时间的类型,通常表示自程序启动以来的时钟计时单元数。

3.介绍一下do while语句与其他循环结构语句的区别

对于猜数字这一类问题,我们最好使用do while语句来实现,在一开始不论循环继续条件是否成立,循环体语句总会被执行一次,并且能够保证每次执行循环体后表达式的值总趋于“假”,防止出现死循环。


三.具体代码和运行结果

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int x,i=0,guess;
srand(time(NULL));//初始化随机数种子
x=rand()%100+1;//产生1~100的随机数
printf("请你猜数:");
do
{
scanf("%d",&guess);
if(x<guess)
{
printf("你猜高了!\n");
}
if(x>guess)
{
printf("你猜低了!\n");
}
else{
printf("你猜对了\n");
break;//猜对就终止循环,跳出整个循环
}
i++;
if(i>=10)
{
printf("随机数是:%d\n",x);
printf("你已经猜错十次了,我赢了,哈哈!");
break;//猜错十次,终止循环
}
printf("请你再猜:");
}
while(1);//反复猜数
}



总结:如果要实现随机数可以引入库函数time.h头文件,并且要注意如果对随机数种子进行初始化。使用do while语句来防止猜数字无限循环所导致的死循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值