如何在C语言中编写一个函数来生成指定范围内(例如从a到b)的随机整数?
时间: 2024-11-29 21:38:15 浏览: 13
内置函数rand示例-二级C语言课件
在C语言中,你可以使用`<stdlib.h>`库提供的`rand()`函数以及`<time.h>`库中的`srand()`和`clock()`函数来生成指定范围内的随机整数。下面是一个简单的示例,展示如何创建一个函数来生成`[a, b]`区间的随机数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 定义随机数生成函数,接受起始值a和结束值b作为参数
int generate_random(int a, int b) {
// 确保种子是当前时间,增加随机性
srand(time(0));
// 使用随机数生成器生成一个介于a和b之间的随机数
return (rand() % (b - a + 1)) + a;
}
int main() {
int min = 1;
int max = 10;
printf("Random number between %d and %d: %d\n", min, max, generate_random(min, max));
return 0;
}
```
这个`generate_random()`函数首先通过`srand(time(0))`设置随机数种子,然后利用`rand() % (b - a + 1)`确保生成的随机数在指定范围内。 `%`操作符用于取模,使得结果总是在`(0, b-a+1)`之间,再加上`a`即可得到所需的区间。
阅读全文