C#定义一个行数和列数相同的二维数组,并执行初始化,然后计算该数组两条对角线上的元素值之和
时间: 2023-06-17 13:04:05 浏览: 103
可以使用如下代码定义一个行数和列数相同的二维数组,并进行初始化:
```csharp
int n = 5; // 数组大小
int[,] arr = new int[n, n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
arr[i, j] = i * n + j;
}
}
```
上述代码将创建一个大小为 5x5 的二维数组,并将其按照从左到右,从上到下的顺序初始化为从 0 到 24 的连续整数。
接下来,我们可以计算该数组两条对角线上的元素值之和:
```csharp
int sum1 = 0, sum2 = 0;
for (int i = 0; i < n; i++)
{
sum1 += arr[i, i]; // 左上到右下的对角线
sum2 += arr[i, n - i - 1]; // 右上到左下的对角线
}
Console.WriteLine("左上到右下的对角线之和为:" + sum1);
Console.WriteLine("右上到左下的对角线之和为:" + sum2);
```
上述代码将计算该二维数组两条对角线上的元素值之和,并输出结果。
相关问题
C#定义一个行数和列数相同的二维数组,并执行初始化,然后计算数组两条对角线上的元素值之和
以下是C#代码示例:
```csharp
int[,] array = new int[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; //定义一个3行3列的二维数组,并初始化
int sum1 = 0; //第一条对角线的元素值之和
int sum2 = 0; //第二条对角线的元素值之和
for (int i = 0; i < array.GetLength(0); i++)
{
sum1 += array[i, i]; //计算第一条对角线的元素值之和
sum2 += array[i, array.GetLength(0) - 1 - i]; //计算第二条对角线的元素值之和
}
Console.WriteLine("第一条对角线的元素值之和:" + sum1);
Console.WriteLine("第二条对角线的元素值之和:" + sum2);
```
输出结果:
```
第一条对角线的元素值之和:15
第二条对角线的元素值之和:15
```
注:以上示例中,数组大小为3x3,元素值从1开始递增,初始化时使用了初始化器。其中,`GetLength(0)`表示获取数组的行数,`GetLength(1)`表示获取数组的列数。在循环中,使用`array.GetLength(0)`获取数组的行数,`array.GetLength(0) - 1 - i`获取第二条对角线上的元素值。
C# 编程 定义一个行数和列数相等的二维数组,并执行初始化,然后计算该数组两条对角线上的元素值之和
在C#编程中,你可以使用`int[,]`类型的二维数组来定义一个固定大小的矩阵,其中每条对角线上的元素对应数组的一个特定模式。首先,你需要定义数组的尺寸,比如5x5,然后通过循环来初始化每个元素。接下来,我们计算主对角线(从左上到右下)和副对角线(从左下到右上)的元素之和。
这是一个简单的示例:
```csharp
using System;
class Program
{
static void Main()
{
// 定义行数和列数
int rows = 5;
int cols = 5;
// 初始化二维数组
int[,] matrix = new int[rows, cols];
// 对角线初始化
for (int i = 0; i < rows; i++)
{
// 主对角线
matrix[i, i] = i * 2 + 1;
// 副对角线
if (i < cols - 1)
matrix[i, cols - 1 - i] = i * 2;
}
// 计算并打印对角线元素之和
int mainDiagonalSum = GetDiagonalSum(matrix, true); // 主对角线
int secondaryDiagonalSum = GetDiagonalSum(matrix, false); // 副对角线
Console.WriteLine($"主对角线和:{mainDiagonalSum}");
Console.WriteLine($"副对角线和:{secondaryDiagonalSum}");
// 获取对角线元素之和的辅助函数
private static int GetDiagonalSum(int[,] array, bool isMain)
{
int sum = 0;
for (int i = 0; i < array.GetLength(0); i++)
{
sum += array[i, isMain ? i : array.GetLength(1) - 1 - i];
}
return sum;
}
// 程序暂停等待用户输入
Console.ReadLine();
}
}
```
运行上述代码后,它将计算并显示主对角线和副对角线上的所有元素之和。
阅读全文