查看所有任务
本课属于 Coddy Rust 学习旅程的“逻辑与流程”单元。第 17 课,共 66 课。
挑战
简单你会收到两个输入:第一行是一个用逗号分隔的现有任务列表,第二行是要查看的任务编号(从 1 开始计数)。读取这两个输入,根据任务创建一个向量,并显示所有任务及其编号,同时突出显示指定的任务。
要求:
- 读取第一行输入,其中包含用逗号分隔的任务描述(例如,
Buy groceries,Call dentist,Finish homework) - 按逗号拆分字符串,获取各个任务
- 创建一个向量,并将每个任务添加到向量中
- 读取第二行输入,并将其转换为整数(要突出显示的任务编号,从 1 开始计数)
- 按以下格式打印任务总数:
Total tasks: X - 遍历向量,并按顺序打印每个任务及其编号(从 1 开始计数)
- 对于指定编号的任务,按以下格式打印:
[X] [task description] (selected) - 对于其他任务,按以下格式打印:
[X] [task description]
输入:
- 第一行:用逗号分隔的任务描述(例如,
Buy groceries,Call dentist,Finish homework) - 第二行:一个整数,表示要突出显示的任务编号(从 1 开始计数)
输出:
- 第一行:
Total tasks: X,其中 X 是任务总数 - 后续各行:按
[X] [task description]格式打印每个任务及其编号 - 选中的任务末尾应追加
(selected)
亲手试试
use std::io::{self, BufRead};
fn main() {
let stdin = io::stdin();
let mut lines = stdin.lock().lines();
// 读取用逗号分隔的任务
let tasks_input = lines.next().unwrap().unwrap();
// 读取需要突出显示的任务编号
let task_number: usize = lines.next().unwrap().unwrap().trim().parse().unwrap();
// TODO: 在下方编写你的代码
// 按逗号拆分 tasks_input,并创建一个向量
// 打印任务总数
// 遍历任务,打印每个任务及其编号
// 在选中的任务后追加 " (selected)",使其突出显示
}逻辑与流程中的所有课
自己练习: Rust 在线编译器