target) puts("大了");
else if (guess < target) puts("小了");
else { puts("正確!"); break; }
}
} else if (menu == 0) {
puts("再見!");
}
}
return 0;
}
srand(time(NULL)) 只需調用一次,放在外層迴圈更佳。rand() % 100 + 1 產生 1-100,但有模數偏差(非均勻),教學可接受。switch 處理選單,while(1) 內層猜測循環。scanf 返回值,防止非數字輸入導致死循環。總結
猜數字遊戲涵蓋隨機數、選單狀態機、巢狀循環、條件判斷、用戶交互,是綜合練習的絕佳專案。建議擴展:記錄最少猜測次數、支援難度等級、圖形化界面(ncurses/SDL)。