C#编写一个控制台程序,要求定义一个行数和列数相等的二维数组,并采用嵌套循环与随机生成数(每个数在1~100间)的方法,执行数组初始化(赋初值),输出原始二维数组。接下来分别求出数组两条对角线上的元素之和并输出结果。
时间: 2023-11-28 17:48:45 浏览: 93
以下是用C#编写的程序:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
int n = 5; // 定义行数和列数
int[,] arr = new int[n, n]; // 定义二维数组
// 随机生成数并初始化数组
Random rand = new Random();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
arr[i, j] = rand.Next(1, 101);
}
}
// 输出原始数组
Console.WriteLine("原始数组:");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
Console.Write("{0,3} ", arr[i, j]);
}
Console.WriteLine();
}
// 求两条对角线上的元素之和
int sum1 = 0, sum2 = 0;
for (int i = 0; i < n; i++)
{
sum1 += arr[i, i]; // 左上到右下的对角线
sum2 += arr[i, n - i - 1]; // 右上到左下的对角线
}
// 输出对角线之和
Console.WriteLine("左上到右下的对角线之和:{0}", sum1);
Console.WriteLine("右上到左下的对角线之和:{0}", sum2);
Console.ReadKey();
}
}
```
程序的输出结果类似于:
```
原始数组:
71 79 85 25 49
89 38 85 69 53
29 44 98 44 33
37 70 99 54 43
61 8 16 87 34
左上到右下的对角线之和:296
右上到左下的对角线之和:291
```
阅读全文