如何用c语言写出同时产生两个不同随机数的函数
时间: 2024-11-25 07:31:45 浏览: 20
在C语言中,生成随机数通常需要使用`<stdlib.h>`库中的`rand()`函数配合`srand()`函数初始化随机数种子。为了同时产生两个不同随机数,你可以创建一个函数,例如:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 时间相关
// 定义一个结构体存放两个随机数
typedef struct {
int num1;
int num2;
} RandomNumbers;
// 生成随机数的辅助函数,接受一个指针并返回一个新的随机数
int generate_random(int *value) {
return rand() % 100; // 生成0到99范围内的随机整数,可以根据需求调整范围
}
// 函数用于生成两个不同随机数
RandomNumbers generate_two_random_numbers() {
RandomNumbers result;
srand(time(0)); // 初始化随机数种子,保证每次程序运行结果不同
result.num1 = generate_random(&result.num1); // 第一个随机数
result.num2 = generate_random(&result.num2); // 第二个随机数,由于第二个随机数也需要初始化种子,这里确保了两次调用不会得到相同的值
return result;
}
// 测试生成随机数的函数
int main() {
RandomNumbers random_nums = generate_two_random_numbers();
printf("Random number 1: %d\n", random_nums.num1);
printf("Random number 2: %d\n", random_nums.num2);
return 0;
}
```
这个例子中,我们首先通过`srand(time(0))`获取当前时间作为随机数种子,然后分别给`num1`和`num2`赋值,因为每次`srand()`都会改变后续`rand()`的结果。
阅读全文