在C语言中生成一个范围内的随机数

如何在C语言中生成给定范围内的随机数。

null

例如:

Input : Lower = 50,
        Upper = 100,
        Count of random Number = 5 
Output : 91 34 21 88 29 
Explanation: lower is the lower limit of the 
range and upper is the upper limit of the range.
Output contains 5 random numbers in given range.

因为C没有生成范围内数字的内置函数,但它有 兰德函数 生成一个从0到RAND_MAX的随机数。借助RAND()可以生成一个范围内的数字 num=(rand()%(上限–下限+1))+下限

// C program for generating a
// random number in a given range.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// Generates and prints 'count' random
// numbers in range [lower, upper].
void printRandoms( int lower, int upper,
int count)
{
int i;
for (i = 0; i < count; i++) {
int num = ( rand () %
(upper - lower + 1)) + lower;
printf ( "%d " , num);
}
}
// Driver code
int main()
{
int lower = 5, upper = 7, count = 1;
// Use current time as
// seed for random generator
srand ( time (0));
printRandoms(lower, upper, count);
return 0;
}


输出:

7

注: 每次运行时生成的输出可能不同,因为数字是随机生成的。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享