用c++编写,题目为给出n阶方阵里所有数,求方阵里所有数的和,输入描述,输入有多个测试用例,每个测试用例第一行为一个整数n n小于等于1000,表示方阵阶数为n,接下来是n行的数字,每行n个数用空格隔开,输出描述输出一个整数表示n阶方阵的和。
时间: 2024-10-23 19:19:52 浏览: 18
在C++中,你可以通过遍历二维数组来解决这个问题。首先,你需要定义一个函数来计算给定n阶方阵的元素总和。这里是一个简单的解决方案:
```cpp
#include <iostream>
using namespace std;
int sumOfMatrix(int n, int matrix[n][n]) {
int total = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
total += matrix[i][j];
}
}
return total;
}
int main() {
int tests;
cin >> tests;
while (tests--) {
int n;
cin >> n;
if (n > 1000 || n <= 0) {
cout << "Invalid input! N should be between 1 and 1000." << endl;
continue;
}
int matrix[n][n]; // Declare a 2D array of size n x n
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j];
}
}
int result = sumOfMatrix(n, matrix);
cout << "Sum of the " << n << "-order matrix is: " << result << endl;
}
return 0;
}
```
这个程序首先读取测试用例的数量,然后对于每个测试用例,它会获取矩阵的阶数n,接着创建一个对应大小的二维数组,并从用户那里接收矩阵元素。最后,`sumOfMatrix` 函数计算并返回矩阵的总和,结果会被打印出来。
阅读全文