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

如题所述

学习编程技术,重点在于持之以恒地积累知识和经验。今天,我们将探讨C语言中的算法:生成随机数。

问题:如何在C语言中获取一个指定范围内的随机数?

解决方案:首先,C语言库提供了一个名为rand()的函数,能够生成非负整数的随机数。要利用此函数,我们需要引用头文件stdlib.h。为了限制生成的随机数在特定的范围内,可以采用模除和加法的方法。

步骤:生成随机数r,使得m<=r<=n,可以通过以下公式实现:rand()%(n-m+1)+m。其原理是:对于任意生成的随机数,0<=rand()%(n-m+1)<=n-m。将此随机数加上m,就能得到范围在m到n的随机数,即m<=rand()%(n-m+1)+m<=n。

下面展示一个范例程序,用于生成6个在68到100之间的随机数:

#include
#include
#include

/*生成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);
}
}

程序运行结果示例如下:
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜