定义一个5行5列的二维数组,通过键盘输入其初始值。求该二维数组主对角线上数字的和c++
时间: 2024-05-13 14:18:42 浏览: 11
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int arr[5][5];
int sum = 0;
// 输入二维数组的初始值
cout << "请输入二维数组的初始值:" << endl;
for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
cin >> arr[i][j];
}
}
// 求主对角线上数字的和
for(int i=0; i<5; i++)
{
sum += arr[i][i];
}
cout << "主对角线上数字的和为:" << sum << endl;
return 0;
}
```
首先定义一个5行5列的二维数组 `arr`,然后通过 `for` 循环和 `cin` 语句从键盘输入其初始值。接着再通过 `for` 循环计算主对角线上数字的和 `sum`,最后输出结果。
相关问题
C#定义一个行数和列数相同的二维数组,并执行初始化,然后计算该数组两条对角线上的元素值之和
可以使用如下代码定义一个行数和列数相同的二维数组,并进行初始化:
```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`获取第二条对角线上的元素值。