Rust语言编程实例100题-067

2021-09-02  本文已影响0人  L我是小学生

Rust语言编程实例100题-067

题目:给定一个数组,将数组内的最大的元素与第一个元素交换,数组内的最小的元素与最后一个元素交换,最后输出这个数组。

数组如下:

[12, 123, 4, 65, 21]

程序分析:声明两个变量分别是最小元素位置和最大元素位置。通过循环比较,获取最大元素和最小元素的位置。最后分别交换他们的位置。

知识点:循环、数组

参考程序代码:

fn main() {
    let mut array = [12, 123, 4, 65, 21];
    let mut max_index = 0;
    let mut min_index = 0;

    for i in 0..array.len() {
        if array[max_index] < array[i] {
            max_index = i;
        }

        if array[min_index] > array[i] {
            min_index = i;
        }
    }

    // 交换最大值
    let mut temp = array[0];
    array[0] = array[max_index];
    array[max_index] = temp;

    // 交换最小值
    temp = array[array.len() - 1];
    array[array.len() - 1] = array[min_index];
    array[min_index] = temp;

    dbg!(array);
}

程序执行结果:

array = [
    123,
    12,
    21,
    65,
    4,
]
上一篇 下一篇

猜你喜欢

热点阅读