Menu
CoddyTech

回顾:基础分数跟踪器

本课属于 Coddy Rust 学习旅程的“逻辑与流程”单元。第 14 课,共 66 课。

challenge icon

挑战

简单

你会收到两个输入:第一行是用逗号分隔的测试分数列表,第二行是要添加的分数。根据初始分数创建一个向量,添加新分数,计算所有分数的平均值,并打印结果。

要求:

  • 读取第一行输入,其中包含用逗号分隔的分数(例如,85,92,78)
  • 按逗号拆分字符串,并在将每个单独的项转换为整数之前去除其首尾空白(例如,拆分后对每个元素使用 .trim())
  • 根据这些分数创建一个可变向量
  • 读取第二行输入,并将其转换为整数(先去除首尾空白)
  • 使用 .push() 将新分数添加到向量中
  • 计算向量中所有分数的平均值
  • 打印分数总数
  • 打印平均分(整数)

输入:

  • 第一行:用逗号分隔的整数,表示初始分数(例如,85,92,78)
  • 第二行:一个整数,表示要添加的新分数

输出:

  • 第一行:分数总数
  • 第二行:平均分(截断为整数)

注意:始终对整行输入以及按逗号拆分后的每个分数项调用 .trim()。输入字符串可能包含不可见的空白字符或换行符,如果不去除这些字符,解析时会引发 panic。

亲手试试

use std::io;

fn main() {
    // 读取用逗号分隔的分数
    let mut scores_input = String::new();
    io::stdin().read_line(&mut scores_input).expect("Failed to read line");
    
    // 读取要添加的新分数
    let mut new_score_input = String::new();
    io::stdin().read_line(&mut new_score_input).expect("Failed to read line");
    
    // TODO: 在下方编写你的代码
    // 1. 按逗号拆分 scores_input,并转换为整数
    // 2. 用这些分数创建一个可变向量
    // 3. 将 new_score_input 转换为整数
    // 4. 将新分数添加到向量末尾
    // 5. 计算所有分数的平均值
    
    // 输出分数总数
    // println!("{}", total_scores);
    
    // 输出平均分
    // println!("{}", average);
}

逻辑与流程中的所有课

自己练习: Rust 在线编译器