Kalkulator ocen ucznia
Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 75 z 75.
Wyzwanie
ŁatwyUtwórz funkcję o nazwie calculate_average_grade, która przyjmuje jako dane wejściowe tablicę liczb całkowitych (reprezentujących oceny uczniów) o długości 8 i zwraca średnią ocen jako ciąg znaków. Metoda powinna wykonać następujące czynności:
- Oblicz sumę wszystkich ocen w tablicy.
- Oblicz średnią ocen, dzieląc sumę przez liczbę ocen.
- Określ ocenę literową na podstawie średniej:
- A (Znakomita): 90-100
- B (Dobra): 80-89
- C (Zadowalająca): 70-79
- D (Wymaga poprawy): 60-69
- F (Niezaliczona): Poniżej 60
- Wyświetl wynik w następującym formacie:
Average grade: [The result] - [Letter Grade]i sformatuj wynik do dwóch miejsc po przecinku.
Spróbuj swoich sił
use std::io;
use std::convert::TryInto;
fn calculate_average_grade(grades: [i32; 8]) -> String {
// Napisz swój kod poniżej
}
fn main() {
let mut input_str_arr = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
let arr: [i32; 8] = input_str_arr.trim().split(',').map(|s| s.parse::<i32>().unwrap()).collect::<Vec<i32>>().try_into().unwrap();
let res = calculate_average_grade(arr);
println!("{}", res);
}Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloSkrócone operacje arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Wyświetlanie w konsoliOdczytywanie danych od użytkownikaPowtórka – do 120Powtórka – prawda czy fałsz5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka — prosta logikaOperatory logiczne, część 311Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneWiele wartości zwracanychPowtórka – funkcja SigmaPowtórka – funkcja walidująca14Iterowanie po tablicach
Przewodnik po zakresachUlepszona pętla forPożyczanie w pętliTypowe operacje na tablicach3Zmienne – część 2
Deklarowanie typuKonwencje nazewnictwaWnioskowanie o typiePodsumowanie – inicjalizacja zmiennychRzutowanie typów9Pętle
Pętla for dla sekwencjiPętla whileInstrukcja breakInstrukcja continuePętle zagnieżdżoneEtykiety pętliPętla nieskończonaPodsumowanie — dynamiczne dane wejściowe12Podstawy tablic
Deklarowanie tablicTablica jako parametrDostęp do elementówModyfikowanie tablicPodsumowanie — czytelny wydruk tablicy15Operacje na ciągach znaków
Metody ciągów znakówMakro format!Konwersja ciągów znakówPowtórka — formatowaniePoćwicz samodzielnie: Kompilator Rust online