题目:键盘接收n位同学姓名和成绩,输出分数最高的同学的姓名和分数,输出他们的平均分和高于平均分的同学姓名。语言:C#
时间: 2024-09-30 21:08:27 浏览: 9
题目描述的是一个简单的C#程序设计任务,它涉及以下几个步骤:
1. **数据输入**:创建一个控制台应用程序,使用Console.ReadLine()函数接收n位学生的信息,包括姓名和成绩。可以使用字符串数组或者字典来存储这些信息。
```csharp
List<(string name, int score)> students = new List<(string, int)>();
for (int i = 0; i < n; i++)
{
Console.Write("请输入第{i}位同学的姓名和成绩:");
string[] input = Console.ReadLine().Split(' ');
students.Add((input[0], int.Parse(input[1])));
}
```
2. **最高分查找**:遍历学生列表,找出最高分及其对应的学生姓名。
```csharp
var maxScore = students.Max(s => s.score);
var topStudent = students.FirstOrDefault(s => s.score == maxScore);
```
3. **平均分计算**:计算所有学生的平均分。
```csharp
double averageScore = students.Average(s => s.score);
```
4. **高于平均分的同学筛选**:找出高于平均分的学生。
```csharp
var aboveAverageStudents = students.Where(s => s.score > averageScore).ToList();
```
5. **输出结果**:最后打印出最高分学生的姓名、分数、平均分以及高于平均分的学生名单。
```csharp
Console.WriteLine($"最高分学生:{topStudent.name},分数:{maxScore}");
Console.WriteLine($"平均分:{averageScore}");
Console.WriteLine("高于平均分的学生:");
aboveAverageStudents.ForEach(s => Console.WriteLine($"{s.name}, 分数:{s.score}"));
```