Podsumowanie — prosty licznik punktów
Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 14 z 66.
Wyzwanie
ŁatwyOtrzymasz dwa wejścia: najpierw listę wyników testów rozdzielonych przecinkami, a następnie wynik do dodania. Utwórz wektor z początkowych wyników, dodaj nowy wynik, oblicz średnią wszystkich wyników i wyświetl rezultaty.
Wymagania:
- Odczytaj pierwsze wejście zawierające wyniki rozdzielone przecinkami (np.
85,92,78) - Podziel ciąg znaków po przecinkach i usuń białe znaki z każdego tokenu przed konwersją na liczbę całkowitą (np. użyj
.trim()dla każdego elementu po podziale) - Utwórz mutowalny wektor z tych wyników
- Odczytaj drugie wejście i przekonwertuj je na liczbę całkowitą (najpierw usuń białe znaki)
- Użyj
.push(), aby dodać nowy wynik do wektora - Oblicz średnią wszystkich wyników w wektorze
- Wyświetl łączną liczbę wyników
- Wyświetl średni wynik (jako liczbę całkowitą)
Wejście:
- Pierwszy wiersz: liczby całkowite rozdzielone przecinkami, reprezentujące początkowe wyniki (np.
85,92,78) - Drugi wiersz: liczba całkowita reprezentująca nowy wynik do dodania
Wyjście:
- Pierwszy wiersz: łączna liczba wyników
- Drugi wiersz: średni wynik (jako liczba całkowita, zaokrąglona w dół)
Uwaga: Zawsze wywołuj .trim() dla całego wiersza wejściowego oraz dla każdego tokenu wyniku osobno po podziale po przecinku. Ciągi wejściowe mogą zawierać niewidoczne białe znaki lub znaki nowej linii, które spowodują panikę podczas parsowania, jeśli nie zostaną usunięte.
Spróbuj swoich sił
use std::io;
fn main() {
// Wczytaj wyniki oddzielone przecinkami
let mut scores_input = String::new();
io::stdin().read_line(&mut scores_input).expect("Failed to read line");
// Wczytaj nowy wynik do dodania
let mut new_score_input = String::new();
io::stdin().read_line(&mut new_score_input).expect("Failed to read line");
// TODO: Napisz swój kod poniżej
// 1. Podziel scores_input według przecinków i przekonwertuj wartości na liczby całkowite
// 2. Utwórz modyfikowalny wektor z tych wyników
// 3. Przekonwertuj new_score_input na liczbę całkowitą
// 4. Dodaj nowy wynik na koniec wektora
// 5. Oblicz średnią wszystkich wyników
// Wypisz całkowitą liczbę wyników
// println!("{}", total_scores);
// Wypisz średni wynik
// println!("{}", average);
}Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane sterowanie przepływem
Wyrażenie „match”Dopasowywanie wielu wartościDopasowywanie zakresówWyrażenie „if let”Pętle jako wyrażeniaPodsumowanie — prosty parser poleceń4Grupowanie danych za pomocą struktur
Czym jest struktura?Przegląd strukturDostęp do pól strukturyModyfikowalne strukturyStruktury jako parametry funkcjiStruktury krotkowePodsumowanie — utwórz strukturę Book2Wprowadzenie do wektorów
Czym jest wektor?Tworzenie wektoraDodawanie elementów za pomocą pushDostęp do elementów wektoraIterowanie po wektorzeIterowanie z możliwością modyfikacjiUsuwanie elementówPodsumowanie — prosty licznik punktów5Pary klucz–wartość z mapami hashującymi
Czym jest mapa haszująca?Tworzenie mapy haszującejWstawianie par klucz–wartośćDostęp do wartościIterowanie po mapie haszującejAktualizowanie wartościUsuwanie paryPodsumowanie – licznik słów8Projekt: Prosty system inwentaryzacji
Konfiguracja projektuDodawanie produktuSprawdzanie stanu magazynowegoSprzedaż produktuŁączenie wszystkiego w całość3Lista zadań w wierszu poleceń
Konfiguracja projektuDodawanie zadaniaWyświetlanie wszystkich zadańUsuwanie zadaniaKońcowy kodPoćwicz samodzielnie: Kompilator Rust online