2015-04-06 63 views
1

我刚开始使用二维数组,但似乎无法弄清楚如何获得每列的平均值。我正在使用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,山口]'和'等级[1,col]',不应该将0和1替换为'row'? – npinti 2015-04-06 07:03:37

+0

错误的解决方案总共... – Shubhojit 2015-04-06 07:15:56

+0

等级[0,col]和等级[1,col]用于打印第一列和第二列值 – Clapper66 2015-04-06 07:21:48

回答

0

如果你正在寻找一个特殊的命令,它将为你做它的代码,你的运气了!你只需编写代码来完成它,就像通常平均一系列数字的方式一样。提示:二维数组的'y'维度中的元素数量由grades.GetLength(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); 
} 
+0

ok。现在我得到了我必须做的事情。那只是有用的东西是你有col排backworks, – Clapper66 2015-04-06 17:06:21

+0

这个计算每列的平均值。看起来你想计算每行的平均值。让我更新这个。 – 2015-04-06 18:48:51