C++中如何生成隨機(jī)浮點(diǎn)數(shù)

c++
小樊
130
2024-08-11 11:08:36

在C++中生成隨機(jī)浮點(diǎn)數(shù)可以使用std::rand()函數(shù)結(jié)合一些算法來(lái)實(shí)現(xiàn)。下面是一個(gè)示例代碼:

#include <iostream>
#include <cstdlib>
#include <ctime>

// 生成指定范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)
float randomFloat(float min, float max) {
    return min + static_cast<float>(std::rand()) / (static_cast<float>(RAND_MAX/(max-min)));
}

int main() {
    // 設(shè)置隨機(jī)數(shù)種子
    std::srand(static_cast<unsigned int>(std::time(nullptr)));

    // 生成隨機(jī)浮點(diǎn)數(shù)并輸出
    float randomNum = randomFloat(1.0, 10.0);
    std::cout << "Random float number: " << randomNum << std::endl;

    return 0;
}

在上面的示例代碼中,std::srand()函數(shù)用于設(shè)置隨機(jī)數(shù)生成器的種子,以確保每次運(yùn)行程序時(shí)生成的隨機(jī)數(shù)不同。然后定義了一個(gè)函數(shù)randomFloat(),該函數(shù)接受最小值和最大值參數(shù),生成一個(gè)在指定范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)。最后在main()函數(shù)中調(diào)用randomFloat()函數(shù)生成隨機(jī)浮點(diǎn)數(shù)并輸出。

0