Menu
Coddy logo textTech

Wiederholung - Noten-Zusammenfassung

Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 66 von 66.

challenge icon

Aufgabe

Einfach

Sie erhalten mehrere Eingaben, die Schülernoten darstellen. Die erste Eingabe ist eine Zahl, die angibt, wie viele Noten folgen werden. Dann erhalten Sie entsprechend viele Notenwerte (einer pro Zeile). Verarbeiten Sie diese Noten und erstellen Sie eine umfassende Zusammenfassung.

Anforderungen:

  • Lesen Sie die erste Eingabe (Anzahl der Noten), entfernen Sie Leerzeichen und parsen Sie diese zu i32
  • Erstellen Sie einen leeren Vektor, um die Noten zu speichern
  • Verwenden Sie eine Schleife, um jede Note zu lesen, Leerzeichen zu entfernen, sie zu i32 zu parsen und sie dem Vektor hinzuzufügen
  • Berechnen Sie die Durchschnittsnote (Summe aller Noten geteilt durch die Anzahl)
  • Finden Sie die höchste Note im Vektor
  • Finden Sie die niedrigste Note im Vektor
  • Zählen Sie, wie viele Noten bestanden sind (70 oder höher)
  • Zählen Sie, wie viele Noten nicht bestanden sind (unter 70)
  • Geben Sie die Ergebnisse in dem unten gezeigten exakten Format aus

Ausgabeformat:

  • Zeile 1: Average: X (wobei X der Durchschnitt als Ganzzahl ist)
  • Zeile 2: Highest: X (wobei X die höchste Note ist)
  • Zeile 3: Lowest: X (wobei X die niedrigste Note ist)
  • Zeile 4: Passing: X (wobei X die Anzahl der bestandenen Noten ist)
  • Zeile 5: Failing: X (wobei X die Anzahl der nicht bestandenen Noten ist)

Eingabe:

  • Erste Zeile: Anzahl der Noten (z. B. 5)
  • Folgende Zeilen: Einzelne Notenwerte (z. B. 85, 92, 67, 78, 95)

Ausgabe:

  • Fünf Zeilen, die den Durchschnitt, den höchsten Wert, den niedrigsten Wert, die Anzahl der bestandenen und die Anzahl der nicht bestandenen Noten anzeigen

Probier es selbst

use std::io;

fn main() {
    // Anzahl der Noten einlesen
    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");
    
    // Einen Vektor zum Speichern der Noten erstellen
    let mut grades: Vec<i32> = Vec::new();
    
    // Jede Note einlesen
    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: Schreiben Sie Ihren Code unten
    // Durchschnitt berechnen, Höchstwert finden, Tiefstwert finden, bestandene und nicht bestandene Noten zählen
    
    
    
    // Die Ergebnisse im erforderlichen Format ausgeben
    // println!("Average: {}", average);
    // println!("Highest: {}", highest);
    // println!("Lowest: {}", lowest);
    // println!("Passing: {}", passing_count);
    // println!("Failing: {}", failing_count);
}

Alle Lektionen in Logic & Flow