首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言小專案:自動生成小學四則運算練習題目程式

     編輯:關於C語言

C語言小專案:自動生成小學四則運算練習題目程式

本程式實作一個簡單的選單驅動控制台應用,依使用者選擇隨機生成加、減、乘、除算式。雖功能基礎,但完整展示了 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;
}

關鍵改進點(相對原始碼)

  1. 加入 srand(time(NULL)):原碼缺此行,每次執行產生相同序列
  2. 範圍控制 % 100 + 1:產生 1~100 適合國小程度
  3. 增加 default 分支:處理非法輸入
  4. 包含 <time.h>:time() 原型宣告所需

擴充建議

  • 用 do-while 迴圈讓使用者連續出題,直到選 0 退出
  • 加入答案驗證與計分功能
  • 減法確保被減數 ≥ 減數;除法確保整除
  • 支援指定題數、難度等級、輸出至檔案列印

學習心得

這個小專案雖簡單,但包含「輸入→處理→輸出」完整流程,讓初學者體驗從零寫出可執行程式的成就感。隨機數種子初始化是常見坑點,務必記住 程式啟動時只呼叫一次 srand()。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved