本程式實作一個簡單的選單驅動控制台應用,依使用者選擇隨機生成加、減、乘、除算式。雖功能基礎,但完整展示了 switch-case、rand() 隨機數、使用者互動流程,適合初學者鞏固基礎語法。
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 必須包含以使用 time()
int main() {
int n, a, b;
srand((unsigned)time(NULL)); // 初始化隨機種子(關鍵!)
printf("【-----------主選單-----------】\n");
printf("----------1.加法運算題---------\n");
printf("----------2.減法運算題---------\n");
printf("----------3.乘法運算題---------\n");
printf("----------4.除法運算題---------\n");
printf("----------0.結束程式-----------\n");
printf("請選擇:");
scanf("%d", &n);
switch (n) {
case 1:
a = rand() % 100 + 1; // 1~100
b = rand() % 100 + 1;
printf("%d + %d = \n", a, b);
break;
case 2:
a = rand() % 100 + 1;
b = rand() % 100 + 1;
printf("%d - %d = \n", a, b);
break;
case 3:
a = rand() % 100 + 1;
b = rand() % 100 + 1;
printf("%d * %d = \n", a, b);
break;
case 4:
a = rand() % 100 + 1;
b = rand() % 100 + 1;
printf("%d / %d = \n", a, b);
break;
case 0:
printf("再見!\n");
break;
default:
printf("無效選項\n");
}
return 0;
}
srand(time(NULL)):原碼缺此行,每次執行產生相同序列% 100 + 1:產生 1~100 適合國小程度default 分支:處理非法輸入<time.h>:time() 原型宣告所需do-while 迴圈讓使用者連續出題,直到選 0 退出這個小專案雖簡單,但包含「輸入→處理→輸出」完整流程,讓初學者體驗從零寫出可執行程式的成就感。隨機數種子初始化是常見坑點,務必記住 程式啟動時只呼叫一次 srand()。