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

C語言考試編程三題全解:一元二次方程、成績等級、百雞問題

     編輯:C 語言問答

題目 1:一元二次方程求實根 (假設 Δ > 0, a ≠ 0)

#include 
#include 

int main(void) {
    double a, b, c, delta, x1, x2;
    printf("請輸入 a b c (空格分隔): ");
    if (scanf("%lf %lf %lf", &a, &b, &c) != 3) return 1;
    delta = b*b - 4*a*c;
    if (delta >= 0) {
        delta = sqrt(delta);
        x1 = (-b + delta) / (2*a);
        x2 = (-b - delta) / (2*a);
        printf("x1 = %.4f, x2 = %.4f\n", x1, x2);
    } else {
        printf("無實根 (Δ = %.4f)\n", delta);
    }
    return 0;
}

關鍵點

  • 用 double + %lf 保證精度。
  • 判別式 delta 先檢查非負再開根號,避免域錯誤。
  • 分母 2*a 加括號,防止 /2*a 結合性錯誤。

題目 2:成績等級判斷 (switch 分段)

#include 

int main(void) {
    int score;
    printf("請輸入分數 (0-100): ");
    if (scanf("%d", &score) != 1 || score < 0 || score > 100) {
        puts("輸入無效");
        return 1;
    }
    switch (score / 10) {
        case 10:
        case 9:  puts("優秀"); break;
        case 8:  puts("良好"); break;
        case 7:  puts("中等"); break;
        case 6:  puts("及格"); break;
        default: puts("差");
    }
    return 0;
}

技巧

  • score/10 將 0-100 映射為 0-10,case 10/9 合併處理 90-100。
  • 輸入合法性檢查不可少。

題目 3:百雞問題 (三重循環 + 數學約束優化)

公雞 5 元、母雞 3 元、3 隻雛雞 1 元。100 元買 100 隻。

#include 

int main(void) {
    // x: 公雞, y: 母雞, z: 雛雞(隻數)
    // 5x + 3y + z/3 = 100
    // x + y + z = 100
    // 消去 z: 7x + 4y = 100  → x ≤ 14, y ≤ 25
    for (int x = 0; x <= 14; x++) {
        for (int y = 0; y <= 25; y++) {
            if (7*x + 4*y == 100) {
                int z = 100 - x - y;
                printf("公雞:%d 母雞:%d 雛雞:%d\n", x, y, z);
            }
        }
    }
    return 0;
}

數學優化過程

  1. 方程組:
    5x + 3y + z/3 = 100  (1)
    x + y + z = 100      (2)
  2. (1)×3 - (2):
    15x + 9y + z = 300
    - x -  y - z = -100
    -------------------
    14x + 8y = 200  →  7x + 4y = 100
  3. 整數解約束:x = (100 - 4y)/7,遍歷 y=0..25 即可,或直接遍歷 x=0..14。

輸出結果 (4 組解)

公雞:0 母雞:25 雛雞:75
公雞:4 母雞:18 雛雞:78
公雞:8 母雞:11 雛雞:81
公雞:12 母雞:4 雛雞:84

考試加分項

  • 變量命名語義化 (非 a,b,c)。
  • 邊界推導註釋 (展示數學建模能力)。
  • 輸入提示友好、錯誤處理完善。
  • 代碼縮進規範、無警告編譯。

三題涵蓋數學建模、分支結構、循環優化,是 C 語言期末/等級考試高頻必會題型。

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