Menu
Coddy logo textTech

Повторение — Сводка оценок

Часть раздела Logic & Flow путешествия по Rust на Coddy — урок 66 из 66.

challenge icon

Задание

Легко

Вы получите несколько входных данных, представляющих оценки студентов. Первое входное значение — это число, указывающее, сколько оценок последует далее. Затем вы получите соответствующее количество значений оценок (по одному в строке). Обработайте эти оценки и предоставьте подробный отчет.

Требования:

  • Считайте первый ввод (количество оценок), удалите лишние пробелы и преобразуйте его в i32
  • Создайте пустой вектор для хранения оценок
  • Используйте цикл для чтения каждой оценки, удаления лишних пробелов, преобразования в i32 и добавления в вектор
  • Вычислите средний балл (сумма всех оценок, деленная на их количество)
  • Найдите самую высокую оценку в векторе
  • Найдите самую низкую оценку в векторе
  • Подсчитайте количество проходных оценок (70 или выше)
  • Подсчитайте количество непроходных оценок (ниже 70)
  • Выведите результаты в точном формате, указанном ниже

Формат вывода:

  • Строка 1: Average: X (где X — среднее значение в виде целого числа)
  • Строка 2: Highest: X (где X — самая высокая оценка)
  • Строка 3: Lowest: X (где X — самая низкая оценка)
  • Строка 4: Passing: X (где X — количество проходных оценок)
  • Строка 5: Failing: X (где X — количество непроходных оценок)

Ввод:

  • Первая строка: Количество оценок (например, 5)
  • Следующие строки: Индивидуальные значения оценок (например, 85, 92, 67, 78, 95)

Вывод:

  • Пять строк, показывающих среднее значение, самую высокую и самую низкую оценки, а также количество проходных и непроходных баллов

Попробуйте сами

use std::io;

fn main() {
    // Считать количество оценок
    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");
    
    // Создать вектор для хранения оценок
    let mut grades: Vec<i32> = Vec::new();
    
    // Считать каждую оценку
    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: Напишите свой код ниже
    // Вычислить среднее значение, найти самое высокое, найти самое низкое, подсчитать количество сданных и проваленных оценок
    
    
    
    // Вывести результаты в требуемом формате
    // println!("Average: {}", average);
    // println!("Highest: {}", highest);
    // println!("Lowest: {}", lowest);
    // println!("Passing: {}", passing_count);
    // println!("Failing: {}", failing_count);
}

Все уроки раздела Logic & Flow