用C语言写一个随机函数
时间: 2023-08-31 10:29:00 浏览: 162
### 回答1:
以下是一个简单的用 C 语言编写的随机数生成函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int random_number(int min_num, int max_num)
{
int result = 0, low_num = 0, hi_num = 0;
if (min_num < max_num)
{
low_num = min_num;
hi_num = max_num + 1; // include max_num in output
}
else
{
low_num = max_num + 1; // include max_num in output
hi_num = min_num;
}
srand(time(NULL));
result = (rand() % (hi_num - low_num)) + low_num;
return result;
}
int main()
{
int min_num = 1, max_num = 100;
int random_num = random_number(min_num, max_num);
printf("A random number between %d and %d is %d\n", min_num, max_num, random_num);
return 0;
}
```
这个函数接受两个参数,即生成的随机数的最小值和最大值,并返回一个介于这两个值之间的随机数。该函数使用了 srand() 函数来初始化随机数生成器,并使用 rand() 函数生成随机数。在生成随机数之前,需要使用 time() 函数获取当前时间戳并将其传递给 srand() 函数,以确保每次程序运行时生成的随机数是不同的。
### 回答2:
在C语言中,我们可以使用rand()和srand()函数来生成随机数。
1. 首先,我们需要在程序中包含<stdlib.h>头文件,该头文件包含了rand()和srand()函数的声明。
2. 接下来,我们需要使用srand()函数来设置随机数生成器的种子。我们可以使用time(NULL)函数来获取当前时间作为种子的值,以保证每次程序运行时都会生成不同的随机数序列。代码如下:
srand(time(NULL));
3. 现在我们可以使用rand()函数来生成随机数了。它返回一个介于0和RAND_MAX之间的整数。我们可以使用取余运算符来限制随机数的范围,比如生成0到9之间的随机整数,可以使用如下代码:
int random_number = rand() % 10;
完整的随机函数代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 设置随机数生成器的种子
int random_number = rand() % 10; // 生成0到9之间的随机整数
printf("Random number: %d\n", random_number);
return 0;
}
这段代码会生成一个0到9之间的随机整数,并将其打印输出。每次运行程序时,都会输出不同的随机数。
### 回答3:
C语言提供了库函数`rand()`,它可以用来生成伪随机数。下面是一个基本的随机函数的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i, num;
srand(time(NULL)); // 使用当前时间作为随机数生成的种子
// 生成10个随机数并输出
printf("生成的随机数为:\n");
for (i = 0; i < 10; i++) {
num = rand(); // 生成一个伪随机数
printf("%d\n", num);
}
return 0;
}
```
这段代码首先使用`time(NULL)`函数获取当前时间作为随机数生成的种子,然后使用`srand()`函数将种子设置给`rand()`函数,以确保每次运行时生成的随机数都是不同的。
然后使用循环生成了10个随机数,并通过`printf()`函数输出。
需要注意的是,该方法生成的随机数是伪随机数,并非真正的随机数。实际上,这些随机数是根据特定算法生成的,只是看起来随机而已。
阅读全文