c语言实现猜数字游戏

如何使用c语言玩猜数字游戏

#include <stdlib.h>
#include <time.h>
#include <stdio.h>
bqq()
{
    printf("*******************************************\n");
    printf("*******************************************\n");
    printf("*******    1进入游戏  2退出游戏   *********\n");
    printf("*******************************************\n");
    printf("*******************************************\n");
}
gmx()
{
    //游戏实现
    short y = rand() % 100 + 1;
    short i,q,w=1;
    printf("请输入你要猜的数字\n");
    printf("你有五次机会\n");
    for (q = 1; q <= 5; q++)
    {
        scanf("%hd", &i);
        if (i < y)
            printf("猜小了\n");
        else if (i > y)
            printf("猜大了\n");
        else
            printf("恭喜你猜对了\n");
        if (w== 5)
        {
            printf("机会用完了游戏结束\n");
            printf("正确的数字为%hd\n",y);
            break;
        }
        else
            w++;
    }
}
int main()
{
    //使⽤time函数的返回值设置种⼦
    //因为srand的参数是unsigned int类型,我们将time函数的返回类型强制类型转换
    srand((unsigned int)time(NULL));//初始化rand的种⼦
   

int n=0;
   do
   {
       bqq();
       scanf("%d", &n);
       switch (n)
       {
       case 1:
           gmx();
           break;
       case 0:
           printf("退出游戏成功");
           break;
       default:
           printf("选择错误请重新选择\n");
           printf("\a");
           break;
       }
   } while (n);
    return 0;
}

代码解释

C语⾔提供了⼀个函数叫 rand,这函数是可以⽣成随机数,但是生成的伪随机数,rand函数是对⼀个叫“种⼦”的基准值进⾏运算⽣成的随机数,要想生成真正的随机数要前⾯每次运⾏程序产⽣的随机数序列都不一样,因为rand函数⽣成随机数的默认种⼦是1,想要更改一个叫“种⼦”的基准值,C语⾔中⼜提供了⼀个函数叫 srand就是更改“种⼦”的基准值
time
如果 timer传NULL,就只返回这个时间的差值。time函数返回的这个时间差也被叫做:时间戳
时间戳
time 函数会返回当前的⽇历时间,其实返回的是1970年1⽉1⽇0时0分0秒到现在程序运⾏时间之间的
差值,单位是秒,返回的类型是time_t类型的,time_t 类型本质上其实就是32位或者64位的整型类

time传一个空指针意思就是给我返回时间戳(不需要做其他的操作),然后将time_t类型强制类型转换成srand一样的类型(无符号位整形)(time类型也是整形)从而更改了rand种⼦”的基准值,rand就可以去生成真正的随机值

头文件

使用rand函数头文件<stdlid.h>
使用time函数头文件<time.h>
使用printf,scanf函数头文件<stdio.h>

以上解释均为自己的理解如有不对请原谅

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值