從 name.txt 讀取姓名列表,按空格鍵隨機顯示一名未被點過的同學,直至全部點完。
fgets 逐行讀入動態數組 char **names,記錄總數 N。int idx[N])。int pos = 0;
while (pos < N) {
if (_kbhit() && _getch() == ' ') {
printf("%s\n", names[idx[pos++]]); // 顯示下一個
}
}
for (int i = N - 1; i > 0; --i) {
int j = rand() % (i + 1);
int tmp = idx[i];
idx[i] = idx[j];
idx[j] = tmp;
}
CSDN 代碼庫示例:隨機點名系統,需將固定 52 改為實際 N,並調整隨機範圍。