Menu
CoddyTech

查看所有任务

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

challenge icon

挑战

简单

你会收到两个输入:第一行是一个用逗号分隔的现有任务列表,第二行是要查看的任务编号(从 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 在线编译器