完整程式碼
#include
#include
#include
int main() {
int random = 0, input = 0, start = 1;
while (start) {
printf("*********************\n");
printf("**1 start 0.exit**\n");
printf("*********************\n");
printf("請選擇:> ");
scanf("%d", &start);
switch (start) {
case 1: {
srand((unsigned)time(NULL));
random = rand() % 100;
while (1) {
printf("請輸入你猜的數:> ");
scanf("%d", &input);
if (input > random) printf("猜大了\n");
else if (input < random) printf("猜的太小了\n");
else { printf("你好厲害啊\n"); break; }
}
break;
}
case 0:
printf("感謝使用猜數字遊戲,bye bye\n");
exit(0);
default: break;
}
}
return 0;
}
結構特點
- 外層
while(start) 控制主選單迴圈。
switch 分派功能,case 0 直接 exit(0) 結束程式。
- 內層
while(1) 猜測迴圈,猜中 break 返回主選單。
潛在改進
scanf 缺乏錯誤處理。
rand()%100 產生 0~99,若需 1~100 應用 rand()%100+1。
- Windows 下建議加
system("pause") 觀察結果。