Menu
CoddyTech

常见数组操作

本课属于 Coddy Rust 学习旅程的“基础知识”单元。第 68 课,共 75 课。

以下是一些常见的数组操作:

  • 求数组中所有元素的总和:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
    sum += number;
}
println!("Sum: {}", sum);
  • 求数组中元素的平均值:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
    sum += number;
}
let average = sum as f64 / numbers.len() as f64;
println!("Average: {}", average);
  • 查找数组中的最大值元素:
let numbers = [1, 5, 2, 9, 3];
let mut max = numbers[0];
for &number in &numbers[1..] {
    if number > max {
        max = number;
    }
}
println!("Max: {}", max);
  • 查找数组中的最小元素:
let numbers = [1, 5, 2, 9, 3];
let mut min = numbers[0];
for &number in &numbers[1..] {
    if number < min {
        min = number;
    }
}
println!("Min: {}", min);
challenge icon

挑战

简单

创建一个名为 calculate_stats 的函数,输入一个长度为 8 的整数数组,并执行以下操作:

  1. 计算数组中所有元素的总和。
  2. 计算数组中元素的平均值。
  3. 找出数组中的最大元素。
  4. 找出数组中的最小元素。

函数应按顺序返回一个包含总和、平均值、最大值和最小值的 f64 值数组。

亲手试试

use std::io;
use std::convert::TryInto;

fn calculate_stats(arr: [i32; 8]) -> [f64; 4] {
    // 在这里编写你的代码
    
    
}

fn main() {
    let mut input_str_arr = String::new();
    io::stdin().read_line(&mut input_str_arr).unwrap();
    let numbers: [i32; 8] = input_str_arr.split(',').map(|s| s.parse::<i32>().unwrap()).collect::<Vec<i32>>().try_into().unwrap();
    let stats = calculate_stats(numbers);
    println!("Sum: {}", stats[0]);
    println!("Average: {}", stats[1]);
    println!("Maximum: {}", stats[2]);
    println!("Minimum: {}", stats[3]);
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Rust 在线编译器