Определить сколько студентов в стеке сдали экзамен на «отлично», «хорошо», «удовлетворительно» - C#
Формулировка задачи:
Создать стек 20 студентов, в каждый элемент которого включать номер студента и его баллы за экзамен. Баллы формировать случайным образом в диапазоне от 0 до 100. Напечатать стек. При очистке стека
определить и напечатать сколько студентов сдали экзамен на «отлично», «хорошо», «удовлетворительно» и «неудовлетворительно».
C# Console
заранее спасибо
Решение задачи: «Определить сколько студентов в стеке сдали экзамен на «отлично», «хорошо», «удовлетворительно»»
textual
Листинг программы
using System;
using System.Linq;
using System.Collections.Generic;
class Program
{
public static void Main()
{
Random rnd = new Random();
Stack<Tuple<int, int>> stack = new Stack<Tuple<int, int>>(20);
for (int i = 1; i <= 20; i++)
{
stack.Push(Tuple.Create(i, rnd.Next(101)));
}
int[] arr = new int[4]; // группы студентов: от 0 (на отчисление) до 3 (отличники)
while (stack.Count != 0)
{
Tuple<int, int> student = stack.Pop();
int mark = (student.Item2 - 1) / 25; // подставь свою формулу
Console.WriteLine(String.Format("Студент номер {0} набрал {1} балл(а, ов), это группа {2}", student.Item1, student.Item2, mark));
arr[mark]++;
}
Console.WriteLine("Распределение по группам:");
for (int i = 0; i < 4; i++)
{
Console.WriteLine(String.Format("Группа {0} - {1} человек(а).", i, arr[i]));
}
}
}