Rust语言编程例子 第035题:字符串反转
Rust语言编程题目:字符串反转练习,如将字符串 "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之内的素数。程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。输出格式:!tsur ekil ...