c语言按概率生成随机数
时间: 2023-07-13 13:15:08 浏览: 439
C 代码 从均匀分布、正态分布或指数分布生成变量, 使用内联随机数生成器进行非常快速的执行.rar
在C语言中,可以使用rand()函数生成随机数。但是这种方法生成的随机数并不是真正意义上的随机数,而是伪随机数。如果需要按概率生成随机数,可以根据需要的概率范围进行计算,然后使用rand()函数生成一个随机数,并根据计算出的概率范围进行判断和处理。具体的实现方式可以参考以下示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int p = 30; // 生成30%概率的随机数
srand((unsigned)time(NULL)); // 初始化随机数种子
int r = rand() % 100; // 生成0~99的随机数
if (r < p) // 如果生成的随机数小于设定的概率,就输出随机数
printf("随机数:%d\n", r);
else // 否则输出提示信息
printf("未生成随机数。\n");
return 0;
}
```
在这个示例程序中,我们设定了一个30%的概率,如果生成的随机数小于30,就输出随机数,否则输出未生成随机数的提示信息。可以根据需要调整概率范围和输出内容。
阅读全文