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);
}
}
程序运行结果案例:
6666 感謝分享! {:6_280:}{:6_280:}{:6_282:}{:6_282:}{:6_283:} 谢谢分享
页:
[1]