学习编程技术,重点在于持之以恒地积累知识和经验。今天,我们将探讨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);
}
}
程序运行结果示例如下:
温馨提示:答案为网友推荐,仅供参考