Menu
Coddy logo textTech

Récapitulatif - Synthèse des notes

Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 66 sur 66.

challenge icon

Défi

Facile

Vous recevrez plusieurs entrées représentant les notes des étudiants. La première entrée est un nombre indiquant combien de notes suivront. Ensuite, vous recevrez ce nombre de valeurs de notes (une par ligne). Traitez ces notes et fournissez un résumé complet.

Exigences :

  • Lisez la première entrée (nombre de notes), supprimez les espaces blancs et analysez-la en i32
  • Créez un vecteur vide pour stocker les notes
  • Utilisez une boucle pour lire chaque note, supprimez les espaces blancs, analysez-la en i32 et ajoutez-la au vecteur
  • Calculez la note moyenne (somme de toutes les notes divisée par le nombre de notes)
  • Trouvez la note la plus élevée dans le vecteur
  • Trouvez la note la plus basse dans le vecteur
  • Comptez combien de notes sont réussies (70 ou plus)
  • Comptez combien de notes sont en échec (moins de 70)
  • Affichez les résultats dans le format exact indiqué ci-dessous

Format de sortie :

  • Ligne 1 : Average: X (où X est la moyenne sous forme d'entier)
  • Ligne 2 : Highest: X (où X est la note la plus élevée)
  • Ligne 3 : Lowest: X (où X est la note la plus basse)
  • Ligne 4 : Passing: X (où X est le nombre de notes réussies)
  • Ligne 5 : Failing: X (où X est le nombre de notes en échec)

Entrée :

  • Première ligne : Nombre de notes (par exemple, 5)
  • Lignes suivantes : Valeurs de notes individuelles (par exemple, 85, 92, 67, 78, 95)

Sortie :

  • Cinq lignes montrant la moyenne, la note la plus élevée, la note la plus basse, le nombre de réussites et le nombre d'échecs

Essayez vous-même

use std::io;

fn main() {
    // Lire le nombre de notes
    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");
    
    // Créer un vecteur pour stocker les notes
    let mut grades: Vec<i32> = Vec::new();
    
    // Lire chaque note
    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: Écrivez votre code ci-dessous
    // Calculer la moyenne, trouver la plus haute, trouver la plus basse, compter les notes de passage et d'échec
    
    
    
    // Afficher les résultats dans le format requis
    // println!("Average: {}", average);
    // println!("Highest: {}", highest);
    // println!("Lowest: {}", lowest);
    // println!("Passing: {}", passing_count);
    // println!("Failing: {}", failing_count);
}

Toutes les leçons de Logic & Flow