溫馨提示×

c語言怎么控制隨機數范圍

小億
457
2023-12-01 15:05:56
欄目: 編程語言

使用C語言中的rand()函數生成的隨機數范圍默認是0到RAND_MAX(通常是32767)。如果要控制隨機數的范圍,可以使用以下方法:

  1. 使用取模運算符(%)來限制隨機數的范圍。 例如,要生成0到9之間的隨機數,可以使用以下代碼:

    int randomNumber = rand() % 10;
    

    這將生成一個0到9之間的隨機整數。

  2. 使用線性變換來映射隨機數的范圍。 例如,要生成1到100之間的隨機數,可以使用以下代碼:

    int randomNumber = rand() % 100 + 1;
    

    這將生成一個1到100之間的隨機整數。

  3. 使用rand()函數生成一個0到1之間的隨機小數,然后通過線性變換將其映射到所需的范圍。 例如,要生成0到1之間的隨機小數,可以使用以下代碼:

    double randomDouble = (double)rand() / RAND_MAX;
    

    如果要生成一個在a到b之間的隨機小數,可以使用以下代碼:

    double randomDouble = (double)rand() / RAND_MAX * (b - a) + a;
    

    這將生成一個在a到b之間的隨機小數。

需要注意的是,為了使用rand()函數,需要包含stdlib.h頭文件。另外,為了使每次運行程序生成的隨機數序列不同,可以在程序開始時調用srand()函數設置隨機數的種子。例如:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    srand(time(NULL));  // 設置隨機數種子為當前時間

    int randomNumber = rand() % 10;  // 生成0到9之間的隨機整數
    printf("%d\n", randomNumber);

    return 0;
}

這樣每次運行程序時,生成的隨機數序列都會不同。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女