Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

綜合練習

本集目標

把前面學的東西組合起來,做一個「輸入分數 → 判斷等第」的小程式。

正文

恭喜你撐到現在!今天我們要把前面學的東西全部串起來,做一個真正有用的小程式。

目標

讓使用者輸入分數,程式自動判斷等第並印出來。

完整程式碼

fn main() {
    println!("請輸入你的分數:");

    // 讀取使用者輸入
    let mut input = String::new();
    std::io::stdin().read_line(&mut input).expect("讀取失敗");

    // 把文字轉成數字
    let score = input.trim().parse::<i32>().expect("請輸入數字");

    // 判斷等第
    if score >= 90 {
        println!("你的成績是 A");
    } else if score >= 80 {
        println!("你的成績是 B");
    } else if score >= 70 {
        println!("你的成績是 C");
    } else {
        println!("你的成績是 F");
    }
}

跑跑看

請輸入你的分數:
85
你的成績是 B
請輸入你的分數:
92
你的成績是 A
請輸入你的分數:
45
你的成績是 F

回顧一下用了哪些技巧

  1. println! → 印提示訊息(第 2 集)
  2. let mut + String::new() → 準備接收輸入(第 15 集)
  3. stdin().read_line() → 讀取鍵盤輸入(第 15 集)
  4. .trim().parse::<i32>() → 文字轉數字(第 16 集)
  5. if / else if / else → 條件判斷(第 8、10、11 集)

看到了嗎?把各種功能組合起來就能做出一個有互動性的小程式。這就是程式設計的魅力——把小塊的知識拼在一起,就能做出有用的東西。

挑戰

如果你想多練習,試試看:

  • 加一個 D 等第(60 ~ 69 分)
  • 如果分數超過 100 或小於 0,印出「分數不正確」

重點整理

  • 結合前面學的 stdinparseifelse if,就能做出有互動性的程式
  • 程式設計的魅力:把小塊知識拼在一起,就能做出有用的東西
  • 除了學新語法,多練習組合應用也很重要