Récapitulatif - Suivi de score basique
Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 14 sur 66.
Défi
FacileVous recevrez deux entrées : premièrement, une liste de scores de test séparés par des virgules, et deuxièmement, un score à ajouter. Créez un vecteur à partir des scores initiaux, ajoutez le nouveau score, calculez la moyenne de tous les scores et affichez les résultats.
Exigences :
- Lire la première entrée contenant les scores séparés par des virgules (par exemple,
85,92,78) - Diviser la chaîne par les virgules et nettoyer chaque jeton individuel avant de le convertir en entier (par exemple, utilisez
.trim()sur chaque élément après la division) - Créer un vecteur mutable à partir de ces scores
- Lire la deuxième entrée et la convertir en entier (nettoyez-la d'abord avec trim)
- Utiliser
.push()pour ajouter le nouveau score au vecteur - Calculer la moyenne de tous les scores dans le vecteur
- Afficher le nombre total de scores
- Afficher le score moyen (sous forme d'entier)
Entrée :
- Première ligne : Entiers séparés par des virgules représentant les scores initiaux (par exemple,
85,92,78) - Deuxième ligne : Un entier représentant le nouveau score à ajouter
Sortie :
- Première ligne : Le nombre total de scores
- Deuxième ligne : Le score moyen (sous forme d'entier, tronqué)
Note : Appelez toujours .trim() sur la ligne d'entrée entière et sur chaque jeton de score individuel après la division par virgule. Les chaînes d'entrée peuvent contenir des espaces blancs invisibles ou des caractères de nouvelle ligne qui provoqueront une erreur (panic) lors de l'analyse s'ils ne sont pas supprimés.
Essayez vous-même
use std::io;
fn main() {
// Lire les scores séparés par des virgules
let mut scores_input = String::new();
io::stdin().read_line(&mut scores_input).expect("Failed to read line");
// Lire le nouveau score à ajouter
let mut new_score_input = String::new();
io::stdin().read_line(&mut new_score_input).expect("Failed to read line");
// TODO: Écrivez votre code ci-dessous
// 1. Diviser scores_input par les virgules et convertir en entiers
// 2. Créer un vecteur mutable à partir de ces scores
// 3. Convertir new_score_input en un entier
// 4. Ajouter le nouveau score au vecteur
// 5. Calculer la moyenne de tous les scores
// Afficher le nombre total de scores
// println!("{}", total_scores);
// Afficher le score moyen
// println!("{}", average);
}Toutes les leçons de Logic & Flow
1Structures de contrôle avancées
L'expression 'match'Filtrage de plusieurs valeursFiltrage d'intervallesL'expression 'if let'Les boucles en tant qu'expressionsRécapitulatif - Analyseur de commandes simple4Regrouper des données avec les structures
Qu'est-ce qu'une structure ?Aperçu des structuresAccéder aux champs d'une structureStructures mutablesLes structures comme paramètres de fonctionStructures tupleRécapitulatif - Créer une structure Book2Introduction aux vecteurs
Qu'est-ce qu'un vecteur ?Créer un vecteurAjouter des éléments avec pushAccéder aux éléments d'un vecteurItérer sur un vecteurItération mutableSupprimer des élémentsRécapitulatif - Suivi de score basique5Paires clé-valeur avec les Hash Maps
Qu'est-ce qu'une Hash Map ?Créer une Hash MapInsérer des paires clé-valeurAccéder aux valeursParcourir une Hash MapMettre à jour une valeurSupprimer une paireRécapitulatif - Compteur de mots8Projet : Inventaire d'articles simple
Configuration du projetAjouter un articleVérifier le stockVendre un articleAssembler le tout3Liste de tâches en ligne de commande
Configuration du projetAjouter une tâcheAfficher toutes les tâchesSupprimer une tâcheCode final