c#定义N*N二维数组,求对角线的和

如题所述

在C#中,定义N*N的二维数组可以使用以下代码:
int[,] array = new int[N,N];
其中,N为数组的大小,可以根据需要进行调整。
接下来,可以使用for循环遍历数组,并累加对角线的元素值,具体代码如下:
int sum = 0;
for(int i=0; i<N; i++)
{
sum += array[i,i];
}
Console.WriteLine("对角线的和为:" + sum);
需要注意的是,在定义数组时,如果N的值过大,可能会导致内存溢出,因此需要考虑优化算法或者使用其他数据结构。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-13
在C#中,要定义一个N * N的二维数组,可以使用以下代码。然后,遍历数组中的对角线元素并计算它们的和。以下是一个示例:
using System;
class MainClass {
public static void Main(string[] args) {
int N = 4; // 定义N的值,根据需要调整
int[,] array = new int[N, N];
// 填充二维数组,这里我们使用一个简单的递增计数器作为例子
int counter = 1;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
array[i, j] = counter++;
}
}
// 计算对角线的和
int sum = 0;
for (int i = 0; i < N; i++) {
sum += array[i, i]; // 主对角线元素
if (i != N - i - 1) { // 如果不是主对角线上的元素,则加上副对角线元素
sum += array[i, N - i - 1];
}
}
// 输出对角线的和
Console.WriteLine("对角线的和为: " + sum);
}
}
这个代码定义了一个4 * 4的二维数组,并计算了对角线元素的和。您可以将N的值更改为其他大小,以满足您的需求。
相似回答