这个题用C#怎么做呀?

img

搞得花哨一点

img

using System;
using System.Collections.Generic;

namespace ConsoleApp1
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            int[,] matrix = new int[5, 5];
            Random random = new Random();
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    matrix[i, j] = random.Next(10, 100);
                }
            }

            // 左上-右下对角线上的数
            List<int> diagonalNumbers = new List<int>();

            Console.WriteLine("初始矩阵为:");

            // for 写法
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    if (i == j)
                    {
                        diagonalNumbers.Add(matrix[i, j]);

                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.Write("  ");
                        Console.Write(matrix[i, j]);
                        Console.ResetColor();
                    }
                    else
                    {
                        Console.Write("  ");
                        Console.Write(matrix[i, j]);
                    }
                }
                Console.WriteLine();
            }

            // foreach 写法
            //int index = default;
            //foreach (var n in matrix)
            //{
            //    Console.Write("  ");
            //    Console.Write(n);

            //    if ((index + 1) % 5 == 0)
            //    {
            //        Console.WriteLine();
            //    }

            //    index++;
            //}

            Console.WriteLine();
            Console.WriteLine("左上-右下对角线上的数为:");
            foreach (int n in diagonalNumbers)
            {
                Console.Write("  ");
                Console.Write(n);
            }

            Console.ReadKey();
        }
    }
}