Rangkuman: Perangkum Nilai
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 66 dari 66.
Tantangan
MudahKamu 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
1Alur Kontrol Lanjutan
Ekspresi 'match'Mencocokkan Beberapa NilaiMencocokkan RentangEkspresi 'if let'Perulangan sebagai EkspresiRangkuman, Parser Perintah Sederhana4Mengelompokkan Data dengan Struct
Apa Itu Struct?Ringkasan StructMengakses Field StructStruct yang Dapat DiubahStruct sebagai Parameter FungsiStruct TupleRangkuman: Buat Struct Buku2Pengantar Vektor
Apa Itu Vektor?Membuat VektorMenambahkan Elemen dengan pushMengakses Elemen VektorMelakukan Iterasi pada VektorIterasi MutableMenghapus ElemenRangkuman: Pelacak Skor Dasar5Pasangan Kunci-Nilai dengan Hash Map
Apa Itu Hash Map?Membuat Hash MapMenyisipkan Pasangan Kunci-NilaiMengakses NilaiMenelusuri Hash MapMemperbarui NilaiMenghapus PasanganRangkuman: Penghitung Kata8Proyek: Inventaris Barang Sederhana
Menyiapkan ProyekMenambahkan BarangMemeriksa StokMenjual BarangMenyatukan Semuanya3Daftar Tugas Baris Perintah
Penyiapan ProyekMenambahkan TugasMelihat Semua TugasMenghapus TugasKode AkhirLatihan sendiri: Compiler Rust online