C语言随机函数

(一)C语言随机函数定义

C语言随机函数主要用于实现一组随机数的生成。

   编程有时需要随机输入一些数,这时调用随机函数可以完成此项命令.

# include <stdio.h>--》C语言头文件 

# include <stdlib.h>-》包含srand函数的函数

# include <time.h>  /*包含时间处理的函数/  ->time(人生天地之间,若白驹过隙,忽然而已。:时间每一时都在变,故借时间之变实现随机数)

  srand((unsigned int)time(NULL)); /*随机函数种子*/  时间在改变,使时间戳改变,故随机范围改变。

#include <stdio.h>
#inclde <stdlib.h>
 

int main(){
srand(100);//表示含义:随机数的最小值是100,固定生成
srand((unsigned int)time(NULL));//随机数随时变
 
return 0;
}

 

 (二)随机数

函数int rand( void );返回的是一个界于0~32767(0x7FFF)之间的伪随机数,包括0和32767,但    只要生成了随机数,每一次运行均只是该随机数。原因如下:

  C预先 生成一组随机数,每次调用随机函数时从指针所指向的位置开始取值,因此使用rand()重复运行程序产生的随机数都是相同的,可以通过srand()函数来改变指针位置。

固定随机数范围常用形态:

取余法: X=rand()%a等价于:X∈[0,a-1],可以通过加减实现范围例如:X∈[A,B]等价于X=rand()%(B+1A)+A。

整倍数法:X=rand()%a*2等价于X是2的倍数。

#include <stdio.h>
#include <stdlib.h>

int main()
{
//取余方式固定范围
int X=rand()%3;//X∈[0,2]
int Y=rand()%3+2;//Y∈[0+2,2+2]
//随机数想要整数倍
int Z=rand()%100*3;//300以内的3的倍数的随机数

return 0;
}

 (三)简单抽奖问题

比如想要X人之间抽个奖,1%:神秘大奖,2%:一等奖,5%:二等奖,其余:谢谢鼓励奖;

​
#include  <stdio.h>
#include  <stdlib.h>

int main(){
  int num=rand()%100;//可以用随机数代替概率,百分之1:在[0,99]选一个,同理
  int count=1;
while(1_
{
if(num==0) printf("第%d次 抽中大奖\n",num);//保底:可以加限制条件
eles if (num>=1&&num<=5) printf("第%d次 抽中一等奖",num);
eles if (num>=10&&num<=30) printf("第%d次 抽中二等奖\n",num);
else 
printf("第%d次 鼓励鼓励奖\n",num);
}

return 0;
}

​

a1f2517854ec4664901447e60dbf44e8.png

 

 

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘 关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值