回顾:基础分数跟踪器
本课属于 Coddy Rust 学习旅程的“逻辑与流程”单元。第 14 课,共 66 课。
挑战
简单你会收到两个输入:第一行是用逗号分隔的测试分数列表,第二行是要添加的分数。根据初始分数创建一个向量,添加新分数,计算所有分数的平均值,并打印结果。
要求:
- 读取第一行输入,其中包含用逗号分隔的分数(例如,
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 在线编译器