Программа на C# для определения n-го максимального балла, полученного учащимися из списка учащихся.C#

Место общения программистов C#
Ответить
Anonymous
 Программа на C# для определения n-го максимального балла, полученного учащимися из списка учащихся.

Сообщение Anonymous »

Я нашел такое упражнение: напишите программу на C#, чтобы найти n-ю максимальную оценку, полученную учениками из списка.
Это решения, которые я вам предложил, но это второе (maximumGrades2) работает по ошибке, потому что это вообще неправильно?
List students =
[
new Student() {Name = "Lory", Id = 1, Grade = 480},
new Student() {Name = "Bob", Id = 2, Grade = 340},
new Student() {Name = "Mery", Id = 3, Grade = 850},
new Student() {Name = "Vi", Id = 4, Grade = 750},
new Student() {Name = "Caitlyn", Id = 5, Grade = 920},
new Student() {Name = "Amelia", Id = 6, Grade = 750},
new Student() {Name = "Jenny", Id = 7, Grade = 590},
];

Console.WriteLine("Which maximum grade you want to find: ");
int num = Convert.ToInt32(Console.ReadLine());

var maximumGrades = students
.OrderByDescending(s => s.Grade)
.Skip(num-1)
.TakeWhile(s => s.Grade == students[num].Grade);

var maximumGrades2 = from student in students
orderby student.Grade descending
let nth = students[num]
where student.Grade == nth.Grade
select student;

foreach (var item in maximumGrades2)
{
Console.WriteLine($"Id: {item.Id}, Name: {item.Name}, achieved Grade point: {item.Grade}");
}



Подробнее здесь: https://stackoverflow.com/questions/798 ... the-studen
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»