给定一个n×n的方阵(1⩽n⩽10),本题要求计算该方阵四个边上元素之和。 要求: 编写函数按照题意计算元素之和。 函数接口定义: int sumMatrix(int (*a)[N],int n); 指针a指向了一个10×10的方阵,n为a指向的矩阵的阶数 裁判测试程序样例: #include<stdio.h> #define N 10 void createMatrix(int (*a)[N],int n) { for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { scanf("%d",&a[i][j]); } } } /* 请在这里填写答案 */ int main() { int a[N][N]; createMatrix(a); printf("%d\n",sumMatrix(a)); return 0; } 输入格式: 在第一行给出方阵的阶数n,随后给出n行数,每行n个数,表示方阵中的元素。 输出格式: 输出求和结果 输入样例: 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 输出样例: 198
时间: 2024-01-03 11:04:10 浏览: 94
以下是求解方阵四个边上元素之和的函数实现:
```c++
#include <iostream>
using namespace std;
const int N = 10;
int sumMatrix(int (*a)[N], int n) // a指向10x10的方阵,n为方阵阶数
{
int sum = 0;
for (int j = 0; j < n; j++) // 计算第一行和最后一行元素之和
sum += a[0][j] + a[n-1][j];
for (int i = 1; i < n-1; i++) // 计算第一列和最后一列元素之和
sum += a[i][0] + a[i][n-1];
return sum;
}
```
主函数如下:
```c++
int main()
{
int n;
cin >> n;
int a[N][N];
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
cin >> a[i][j];
cout << sumMatrix(a, n) << endl;
return 0;
}
```
输入样例:
```
10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
```
输出样例:
```
198
```