找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1398|回复: 0
打印 上一主题 下一主题
收起左侧

C语言的算法:生成随机数

[复制链接]
跳转到指定楼层
楼主
学技术,重在日拱一卒、一点一滴的积累。

今天,我们一起来分析C语言的算法:生成随机数。

算法项目:用C语言获取一个随机数,随机数范围在一个范围之内。


编程思路:

1、C语言库函数中,有获取随机数函数,名称为rand(), 可以通过该函数获得一个非负整数的随机数。

2、要调用rand需要引用头文件stdlib.h。要让随机数限定在一个范围,可以采用模除,加加法的方式。

3、要产生随机数r, 其范围为 m<=r<=n,可以使用如下公式:rand()%(n-m+1)+m,其原理为:对于任意数,0 <= rand()%(n-m+1) <= n-m;即rand()%(n-m+1)生成的随机数是在0到n-m之间的),于是0+m <= rand()%(n-m+1)+m <= n-m+m(于是给这个随机数加上m就可以得到m到n-m之间的随机数),即m<=rand()%(n-m+1)+m<=n。


程序范例

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

/*生成6个在68-100之间的随机数*/

void main()

{

  int random;

  char i;

  srand(time(NULL));

  for(i=0; i<6; ++i)

  {

    /*29=100-68+1*/

    random =68+rand()%33;

    printf("%d ",random);

  }

}

程序运行结果案例:






评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表