使用C語言中的rand()函數生成的隨機數范圍默認是0到RAND_MAX(通常是32767)。如果要控制隨機數的范圍,可以使用以下方法:
使用取模運算符(%)來限制隨機數的范圍。 例如,要生成0到9之間的隨機數,可以使用以下代碼:
int randomNumber = rand() % 10;
這將生成一個0到9之間的隨機整數。
使用線性變換來映射隨機數的范圍。 例如,要生成1到100之間的隨機數,可以使用以下代碼:
int randomNumber = rand() % 100 + 1;
這將生成一個1到100之間的隨機整數。
使用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;
}
這樣每次運行程序時,生成的隨機數序列都會不同。