请用C#写一个在Windows环境下运行的程序,用二维数组存放一个班级(10人)的语文、数学、外语成绩,接下来编写一个程序分别求出各科成绩中的平均值、最大值、最小值。
时间: 2024-10-17 09:15:21 浏览: 18
首先,你需要创建一个二维数组来存储每个学生的成绩,然后定义一个类来表示学生以及他们的成绩。接着,你可以编写一个控制台应用程序来计算平均值、最大值和最小值。以下是简单的C#代码示例:
```csharp
using System;
public class Student
{
public int ID { get; set; }
public double[] Scores { get; set; }
// 构造函数
public Student(int id)
{
ID = id;
Scores = new double[3]; // 代表语文、数学、外语三门课
}
}
class Program
{
static void Main(string[] args)
{
// 创建一个包含10名学生的班级
var students = new Student[10];
for (int i = 0; i < students.Length; i++)
{
students[i] = new Student(i + 1);
// 假设成绩数据随机填充
students[i].Scores[0] = Math.Round(Math.Cos(i) * 100); // 语文成绩模拟
students[i].Scores[1] = Math.Round(Math.Sin(i) * 100); // 数学成绩模拟
students[i].Scores[2] = Math.Round(Math.Pow(i, 2) * 50); // 英语成绩模拟
}
// 计算各科成绩统计信息
double[] avgScores = new double[3];
double maxScore = 0;
double minScore = double.MaxValue;
foreach (var student in students)
{
avgScores[0] += student.Scores[0]; // 语文平均分
avgScores[1] += student.Scores[1]; // 数学平均分
avgScores[2] += student.Scores[2]; // 英语平均分
if (student.Scores[0] > maxScore) maxScore = student.Scores[0];
if (student.Scores[0] < minScore) minScore = student.Scores[0];
if (student.Scores[1] > maxScore) maxScore = student.Scores[1];
if (student.Scores[1] < minScore) minScore = student.Scores[1];
if (student.Scores[2] > maxScore) maxScore = student.Scores[2];
if (student.Scores[2] < minScore) minScore = student.Scores[2];
}
// 计算并打印平均值、最大值和最小值
avgScores = avgScores / students.Length;
Console.WriteLine("语文平均分: " + avgScores[0]);
Console.WriteLine("数学平均分: " + avgScores[1]);
Console.WriteLine("英语平均分: " + avgScores[2]);
Console.WriteLine("语文最大分: " + maxScore);
Console.WriteLine("语文最小分: " + minScore);
Console.WriteLine("数学最大分: " + maxScore);
Console.WriteLine("数学最小分: " + minScore);
Console.WriteLine("英语最大分: " + maxScore);
Console.WriteLine("英语最小分: " + minScore);
Console.ReadLine(); // 等待用户输入,方便查看结果
}
}
```
阅读全文