簡體   English   中英

如何獲取二維數組中列的平均值

[英]How to get average of columns in a 2d array

我剛剛開始使用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]
    }` 

如果您正在尋找可以為您執行的特殊命令,那您真不走運! 您只需要編寫代碼即可完成此操作,就像通常將一系列數字取平均值一樣。 提示:二維數組'y'維度中的元素數量由grades.GetLength(1)

要獲得“每列平均”,您需要遍歷固定行的列並添加其值,如下所示:

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM