c# 程序未能正常运行 help~

namespace A._2._4数组排序和计算练习
{
class Program
{
static void Main(string[] args)
{
float x=0;

        int[] a = new int[5];
        Console.WriteLine("请输入五个整数,并用逗号分开:");
        string s = Console.ReadLine();
       string []str=s.Split (',');
       for (int i = 0; i  < str.Length; i++)
       {
           a[i] = Convert .ToInt32 (str[i]);
       }
        for (int i = 0; i < 5; i++)
        {
            for (int j = 0; j < 5; j++)
            {
                if (a[i] >= a[j])
                {
                    a[i] = a[j];
                }
            }
        }
        Console.Write("正序:");
        for (int m = 0; m < 5; m++)
        {
            Console.Write(a[m]);
        }
        Console.Write("逆序:");
        for (int m = 5; m > 0; m--)
        {
            Console.Write(a[m]);
        }
        for (int m = 5; m > 0; m--)
        {
            x = a[m] + x;
        }
        Console.WriteLine("最大值:{0}", a[5]);
        Console.WriteLine("平均值为:" + x/5);
        Console.ReadLine();

    }

}

}
结果是这样的,剩下的最大值和平均值也没出来,求问图片说明

a[i] = a[j]; 这里错了吧 是要交换?

int[] a = new int[5]; 这里数组a的大小是5,最后一位是a[4]。 循环里m=5,a[5]当然溢出了啊。

for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (a[i] >= a[j])
{
a[i] = a[j];
}
}
}
删除,换成
a = a.OrderBy(x => x).ToArray();

for (int m = 5; m > 0; m--)
修改为
for (int m = 4; m >= 0; m--)

另外在程序开头加上
using System.Linq;