阿摩線上測驗 登入

申論題資訊

試卷:96年 - 096年地方資訊處理(四等)#32438
科目:程式設計
年份:96年
排序:0

申論題內容

五、請用 C 語言,寫出用隨機亂數產生一個大於 0 且小於 100 的隨機正整數的程式碼。 (10 分)

詳解 (共 2 筆)

詳解 提供者:hchungw
在C語言中,你可以使用rand()函數生成隨機數,這個函數定義於stdlib.h頭文件中。為了產生一個大於0且小於100的隨機正整數,你可以對rand()函數的返回值取模(%),然後加1以確保結果不為0。此外,使用srand()函數與當前時間作為種子,可以使每次運行程序時生成的隨機數不同,增加隨機性。這需要包含time.h頭文件。
下面是一個完整的示例程式碼:
c
Copy code
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
    // 初始化隨機數生成器
    srand((unsigned) time(NULL));
    // 生成一個大於0且小於100的隨機正整數
    int randomNumber = (rand() % 99) + 1;
    printf("生成的隨機數是:%d\n", randomNumber);
    return 0;
}
這段程式碼首先調用srand()函數,使用當前時間(由time(NULL)返回)作為種子,這樣每次運行時都會有不同的隨機數序列。然後,使用rand() % 99 + 1生成一個在1到99(包括1和99)之間的隨機數,保證了數字大於0且小於100。最後,將這個隨機數打印出來。
詳解 提供者:劉竑礽
我不會 想看有沒有人會可以教我!!