用C++求数组主对角线上的数之和
时间: 2024-03-09 09:46:31 浏览: 25
可以使用如下代码来实现:
```c++
#include <iostream>
using namespace std;
const int N = 1000;
int a[N][N]; // 定义 N * N 的二维数组
int main()
{
int n;
cin >> n;
// 输入二维数组
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
cin >> a[i][j];
// 计算主对角线上的数之和
int sum = 0;
for (int i = 0; i < n; i++)
sum += a[i][i];
cout << sum << endl;
return 0;
}
```
其中,`a[i][j]` 表示二维数组中第 `i` 行、第 `j` 列的元素。主对角线上的数就是指 `a[i][i]`,即第 `i` 行、第 `i` 列的元素。因此,我们只需要遍历 `a[i][i]`,将其累加即可得到主对角线上的数之和。
相关问题
c++求二维数组的对角线之和
以下是 C++ 代码实现二维数组的对角线之和:
```cpp
#include <iostream>
using namespace std;
const int N = 105;
int a[N][N]; // 二维数组
int main()
{
int n;
cin >> n; // 输入二维数组的行数和列数
// 输入二维数组的元素
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
cin >> a[i][j];
int sum1 = 0, sum2 = 0;
for (int i = 0; i < n; i++)
{
sum1 += a[i][i]; // 第一条对角线之和
sum2 += a[i][n - i - 1]; // 第二条对角线之和
}
cout << "第一条对角线之和:" << sum1 << endl;
cout << "第二条对角线之和:" << sum2 << endl;
return 0;
}
```
在这个代码中,我们定义了一个 `N` 大小的二维数组 `a`,并且输入了二维数组的行数和列数。接下来,我们使用两个变量 `sum1` 和 `sum2` 来分别记录第一条对角线和第二条对角线的元素之和。最后输出两个变量的值即可。
定义一个5行5列的二维数组,通过键盘输入其初始值。求该二维数组主对角线上数字的和c++
以下是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`,最后输出结果。