语言:C#。题目:3.键盘接收n位同学姓名和成绩,输出分数最高的同学的姓名和分数,输出他们的平均分和高于平均分的同学姓名
时间: 2024-10-08 16:22:21 浏览: 21
在C#中,你可以通过创建控制台应用程序来实现这个功能。以下是一个简化的步骤描述:
1. **定义学生类**:
```csharp
public class Student
{
public string Name { get; set; }
public int Score { get; set; }
}
```
2. **接收用户输入**:
```csharp
Console.WriteLine("请输入学生人数:");
int n = Convert.ToInt32(Console.ReadLine());
List<Student> students = new List<Student>();
for (int i = 0; i < n; i++)
{
Console.WriteLine($"请输入第{i + 1}位同学的姓名:");
string name = Console.ReadLine();
Console.WriteLine($"请输入第{i + 1}位同学的成绩:");
int score = Convert.ToInt32(Console.ReadLine());
students.Add(new Student { Name = name, Score = score });
}
```
3. **计算最高分、平均分和高于平均分的学生**:
```csharp
Student highestScoreStudent = students.OrderByDescending(s => s.Score).First();
double averageScore = students.Average(s => s.Score);
List<Student> aboveAverageStudents = students.Where(s => s.Score > averageScore).ToList();
// 输出结果
Console.WriteLine($"最高分学生: {highestScoreStudent.Name}, 分数: {highestScoreStudent.Score}");
Console.WriteLine($"平均分: {averageScore}");
Console.WriteLine("高于平均分的学生:");
foreach (var student in aboveAverageStudents)
{
Console.WriteLine($"{student.Name}, 分数: {student.Score}");
}
```
4. **运行程序**:
运行上述代码,首先会提示用户输入学生数量,然后依次输入每个学生的姓名和成绩,最后显示最高分学生信息、平均分以及高于平均分的学生列表。
阅读全文