Rust语言编程例子 第027题:递归逆序

Rust语言编程题目:递归练习。程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。

利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

程序分析:

输出格式:逆序输出即可

知识点:递归

fn main() {
   plain(5);
}

fn plain(n: i32) {
    if n <= 1 {
        let mut text = String::new();
        std::io::stdin().read_line(&mut text).expect("read line error!");
        print!("{} ", text.trim());
    } else {
        let mut text = String::new();
        std::io::stdin().read_line(&mut text).expect("read line error!");
        plain(n - 1);
        print!("{} ", text.trim());
    }
}

输入:

1
2
3
4
5

程序执行结果:

5 4 3 2 1

Process finished with exit code 0

下一章:Rust语言编程例子 第028题:递归回推

Rust语言编程题目:递归练习。程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它 ...