C语言随机数/猜数游戏

1.随机数的生成

1.1 rand

  • int rand (); ----头文件 <stdlib.h>

伪随机数,每次生成的随机数一样,因为rand函数默认的种子是1.

#include<stdlib.h>

int main()
{
    printf("%d\n",rand());
    printf("%d\n",rand());
}

输出两个随机数,但每次随机数一样。

 1.2 srand

srand 初始化随机数的生成器,原型:

viod srand (unsigned int seed);

程序在调用rand函数之前先调用srand函数,通过srand函数的参数seed来设置rand生成随机数种子,只要种子变化,每次的随机数就变化了。

#include<stdlib.h>

int main()
{
    srand(2);
    printf("%d\n",rand());
    printf("%d\n",rand());
}

输出两个与1.1不一样的随机数,但每次随机数一样。

但是,需要srand(n)中的n变化,否则每次随机数一样。

那么,我们就需要一个变化的值。

1.3 time

  • time():会返回当前的日历时间,返回类型是 time_t 类型,本质上返回的就是整数类型。头文件:<time.h>
#include<stdlib.h>
#include<time.h>

int main()
{
    srand((unsigned int)time(NULL));
 //因为srand返回类型是unsigned int 而time返回time_t,强制转换 

    printf("%d\n",rand());
    printf("%d\n",rand());
}

输出结果:每次都是不同的两个随机数

sranda((unsigned int)time(NULL));  设置一次即可。

1.4设置随机数范围

随机数范围:0~32767

  • 如果要生成0~99之间随机数:
rand() % 100;//余数范围是0-99
  • 如果要生成1~100之间随机数:
rand() % 100+1; //余数范围是0-99的数字+1
  • 如果要生成100~200的随机数:
100 + rand() % (200-100+1);//余数范围是0-100,+100
  •  要生成a~b的随机数:
a + rand() % (b-a+1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值