如何在C语言中以确定的概率处理命令?

How can I process a command in determined probability in C?

本文关键字:概率 处理 命令 语言      更新时间:2023-10-16

我想处理一个命令的方式,如果我按下字符a,使相应的命令在例如15%的情况下。谢谢你的帮助!

您需要在按下a时生成一个随机数。

编辑:例如:

#include <stdlib.h>
if(PressedA){
    int random=(rand() % 100); // random is in [0,99]
    if(random < 15){
        command();
    }    
}

大概是这样吧。(编译-std=c++11)

#include <iostream>
#include <random>
int main()
{
    std::random_device rd;
    std::uniform_int_distribution<int> d(0, 99);
    int x = d(rd);
    if (x < 15)
    {
        std::cout << "you, lucky boy! " << x << std::endl;
    }
    return 0;
}