美文网首页
Rust语言编程实例100题-035

Rust语言编程实例100题-035

作者: L我是小学生 | 来源:发表于2021-07-26 07:34 被阅读0次

    Rust语言编程实例100题-035

    题目:字符串反转练习,如将字符串 "i like rust!" 反转为"!tsur ekil i"。不允许使用rev方法。请自定义一个字符串反转函数,该函数不允许有返回值。但是经过该函数后,字符串会反转。

    程序分析:定义一个没有返回值函数来反转字符串,那肯定要求参数是可变引用传值。

    输出格式:!tsur ekil i

    知识点:函数、所有权、借用、引用、字符串

    fn main() {
        let mut s = String::from("i like rust!");
        reverse(&mut s);
        println!("{}", s);
    }
    
    fn reverse(s: &mut String) {
        let length = s.chars().count();
        for i in 0..length / 2 {
            let end_index = length - 1 - i;
            let cc = s.chars().nth(i).unwrap();
            let ec = s.chars().nth(end_index).unwrap();
            s.replace_range(i..i + 1, ec.to_string().as_str());
            s.replace_range(end_index..end_index + 1, cc.to_string().as_str());
        }
    }
    

    程序执行结果:

    !tsur ekil i
    

    相关文章

      网友评论

          本文标题:Rust语言编程实例100题-035

          本文链接:https://www.haomeiwen.com/subject/kqywmltx.html