經典入門專案:電腦生成 1~100 隨機數,玩家反覆猜測,提示大/小/正確,支援重玩與退出。
menu():打印 ASCII 藝術菜單。game():核心邏輯,srand(time(NULL)) 種子,rand()%100+1 生成目標數,循環讀入猜測並比較。main():循環顯示菜單,switch 分發 1:game() / 2:exit。#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu() {
puts("********************");
puts("**** 猜數字遊戲 ****");
puts("********************");
puts("**** 1. 開始遊戲 ****");
puts("**** 2. 退出遊戲 ****");
puts("********************");
}
void game() {
int target = rand() % 100 + 1;
int guess;
while (1) {
printf("請輸入猜測 (1-100):");
scanf("%d", &guess);
if (guess == target) { puts("恭喜答對!"); break; }
else if (guess > target) puts("猜大了!");
else puts("猜小了!");
}
}
int main() {
srand((unsigned)time(NULL));
int choice;
while (1) {
menu();
printf("請選擇:");
scanf("%d", &choice);
if (choice == 1) game();
else if (choice == 2) { puts("再見!"); break; }
else puts("無效選項");
}
return 0;
}
scanf 返回值,清理緩衝區防止無限循環。