• Rust中的输入输出格式变化(非常详细)


    1.字符类型输入,从键盘输入啥,输出就是啥。
    use std::io;
    fn main() {
    let mut guess = String::new();
    io::stdin().read_line(&mut guess).expect("Failed to read line");
    println!("You guessed: {}",guess);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    2.输入整数字符类型,输出整数类型
    use std::io::stdin;
    fn main() {
        let mut input = String::new();
        stdin().read_line(&mut input)
            .ok()
            .expect("Failed to read line");  
        let i: i32 = match input.trim().parse() {
            Ok(num) => num,
            Err(_) => {
                 println!("请输入整数,请勿输入无关符号!");
                 return;
            }
        };
        println!("i: {i}");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    使用 trim() 去除多余的符号,例如回车号,然后使用 parse() 来做数据转换

    3.输入字符串[1,2,4,5,6],输出整型数组vec类型
    use std::io::stdin;
    fn main() {
        let mut vec:Vec<i32>=Vec::new();
        let mut input = String::new();
        stdin().read_line(&mut input)
            .ok()
            .expect("Failed to read line");
    
        let first_last_off: &str = &input[1..input.len() - 2];
        println!("{}", first_last_off);
        let v:Vec<&str> = first_last_off.split(',').collect();
        for i in v{
            let i:i32=match i.trim().parse(){
                Ok(num)=>num,
                Err(_)=>{
                    println!("请输入整数,请勿输入无关符号!");
                    return;
            }
        };
            vec.push(i);
    }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    4.例子:求一个数组中次数大于n/3的数,返回数组
    use std::io::stdin;
    use std::collections::HashMap;
    
    pub fn majority_element(nums: Vec<i32>)->Vec<i32>{
        let n=nums.len();
        let l=n/3;
        let mut V:Vec<i32>=Vec::new();
        let mut map=HashMap::new();
        for word in nums{
            let count =map.entry(word).or_insert(0);
            *count+=1;
        };
        println!("{:#?}",map);
        for (k,v) in map{
            if(v>l){
                V.push(k)
            }
        }
        V
    }
    fn main() {
        let mut vec:Vec<i32>=Vec::new();
        let mut num:Vec<i32>=Vec::new();
        let mut input = String::new();
        stdin().read_line(&mut input)
            .ok()
            .expect("Failed to read line");
        let first_last_off: &str = &input[1..input.len() - 2];
        println!("{}", first_last_off);
        let v:Vec<&str> = first_last_off.split(',').collect();
        for i in v{
            let i:i32=match i.trim().parse(){
                Ok(num)=>num,
                Err(_)=>{
                    println!("请输入整数,请勿输入无关符号!");
                    return;
            }
        };
            vec.push(i);
    }
    num=majority_element(vec);
    println!("{:?}",num)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    5.各种类型的互相转换
    
    let int_value = 5;
    //整型转字符串
    let string_value = int_value.to_string();
    
    //字符串转32位有符号整型
    let back_int = string_value.parse::<i32>().unwrap();
    
    // 字符串转32位无符号整型
    let back_int = string_value.parse::<u32>().unwrap();
    
    //字符串转16位有符号整型
    let back_int = string_value.parse::<i16>().unwrap(); 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    CloudCompare
    AI时代你一定要知道的Agent概念
    Linux-定时任务at命令
    Redis从入门到精通(二)- 入门篇
    瞬态抑制二极管 tvs 二极管参数选型
    微服务--alpha使用
    【Linux】-文件系统的详解以及软硬链接
    二分查找,求方程多解
    SQL注入-下篇
    Dubbo面试题及答案整理,Dubbo面试题大全带答案(2021最新版)
  • 原文地址:https://blog.csdn.net/phthon1997/article/details/126851162