Menu
CoddyTech

Rangkuman: Perangkum Nilai

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 66 dari 66.

challenge icon

Tantangan

Mudah

Kamu akan menerima beberapa input yang mewakili nilai siswa. Input pertama adalah angka yang menunjukkan jumlah nilai yang akan diberikan. Lalu, kamu akan menerima sejumlah nilai tersebut, satu nilai per baris. Proses nilai-nilai ini dan berikan ringkasan lengkap.

Persyaratan:

  • Baca input pertama (jumlah nilai), hapus spasi kosong, lalu parse menjadi i32
  • Buat vector kosong untuk menyimpan nilai-nilai
  • Gunakan perulangan untuk membaca setiap nilai, hapus spasi kosong, parse menjadi i32, lalu tambahkan ke vector
  • Hitung nilai rata-rata (jumlah semua nilai dibagi jumlahnya)
  • Temukan nilai tertinggi dalam vector
  • Temukan nilai terendah dalam vector
  • Hitung jumlah nilai yang lulus (70 atau lebih)
  • Hitung jumlah nilai yang tidak lulus (di bawah 70)
  • Cetak hasil dalam format persis seperti yang ditunjukkan di bawah

Format Output:

  • Baris 1: Average: X (X adalah nilai rata-rata dalam bentuk bilangan bulat)
  • Baris 2: Highest: X (X adalah nilai tertinggi)
  • Baris 3: Lowest: X (X adalah nilai terendah)
  • Baris 4: Passing: X (X adalah jumlah nilai yang lulus)
  • Baris 5: Failing: X (X adalah jumlah nilai yang tidak lulus)

Input:

  • Baris pertama: Jumlah nilai (misalnya, 5)
  • Baris-baris berikutnya: Nilai masing-masing (misalnya, 85, 92, 67, 78, 95)

Output:

  • Lima baris yang menampilkan nilai rata-rata, tertinggi, terendah, jumlah nilai yang lulus, dan jumlah nilai yang tidak lulus

Coba sendiri

use std::io;

fn main() {
    // Baca jumlah nilai
    let mut count_input = String::new();
    io::stdin().read_line(&mut count_input).expect("Failed to read line");
    let count: i32 = count_input.trim().parse().expect("Invalid number");
    
    // Buat vector untuk menyimpan nilai
    let mut grades: Vec<i32> = Vec::new();
    
    // Baca setiap nilai
    for _ in 0..count {
        let mut grade_input = String::new();
        io::stdin().read_line(&mut grade_input).expect("Failed to read line");
        let grade: i32 = grade_input.trim().parse().expect("Invalid number");
        grades.push(grade);
    }
    
    // TODO: Tulis kodemu di bawah ini
    // Hitung rata-rata, cari nilai tertinggi dan terendah, lalu hitung jumlah nilai yang lulus dan tidak lulus
    
    
    
    // Tampilkan hasil dalam format yang diminta
    // println!("Average: {}", average);
    // println!("Highest: {}", highest);
    // println!("Lowest: {}", lowest);
    // println!("Passing: {}", passing_count);
    // println!("Failing: {}", failing_count);
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online