我刚刚开始使用2D数组,但似乎无法弄清楚如何获得每列的平均值。我使用for循环让用户输入数据(学生成绩),然后使用for循环显示用户输入的信息。但是在显示信息后,我想显示每列的平均值。我应该怎么做每列的平均值?
这是我到目前为止的代码
static void Main(string[] args)
{
double[,] grades = new double[2, 3];
double result;
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write("Enter Grade " + (j + 1) + " For Group" + (i + 1) + ": ==>> ");
if (double.TryParse(Console.ReadLine(), out result)) grades[i, j] = result;
else
{
Console.WriteLine("*** INVALID GRADE ENTERED. PLEASE REENTER.");
}
}
}
for (int row = 0; row < 1; row++)
{
Console.WriteLine();
Console.Write(" Group " + (row + 1) + ": ");
Console.WriteLine(" Group " + (row + 2) + ": ");
Console.Write("=========== ===========");
for (int col = 0; col < 3; col++)
{
//String.Format("{0,-10} | {1,-10} | {2,5}",
//make pring for execise 2 Console.Write(string.Format("{0,-5}", grades[row, col]));
Console.WriteLine();
Console.Write(string.Format("{0,-9}", ""));
Console.Write(string.Format("{0,-20}",grades[0, col]));
Console.Write(grades[1,col]);
}
Console.WriteLine();
Console.WriteLine("=========== ===========");
}
Console.WriteLine("\n\npress any key to exit...");
Console.ReadKey();
//print it for exercise 1 myArr[o, column]; myArr[ , column]
}`
答案 0 :(得分:0)
如果你正在寻找一个能为你做的特殊命令,那你就不走运了!您只需要编写代码来执行此操作,就像通常平均一系列数字一样。提示:2D阵列的“y”维度中的元素数量由例如给出。 grades.GetLength(1)
。
答案 1 :(得分:0)
要获得每列的平均值,您需要遍历固定行的列并添加它们的值,如下所示:
int columnTotal, average;
for (int row = 0; row < 2; row++)
{
columnTotal = 0;
for (int col = 0; col < 2; col++)
{
columnTotal += grades[row, col];
}
average = columnTotal/2;
Console.WriteLine("Average: {0}", average);
}