按如下函数原型编写程序,输入n×n阶矩阵,用函数编程计算并输出其两条对角线上的各元素之和。 void InputMatrix(int a[N][N], int n); int AddDiagonal(int a[N][N], int n); 输入提示信息: "Input n:""Input %d*%d matrix:n" 输入格式:"%d" 输出提示信息和输出格式:"sum = %dn"
#include#define N 10 void InputMatrix(int a[N][N], int n); int AddDiagonal(int a[N][N], int n); int main() { int a[N][N], n, sum; printf("Input n:"); scanf("%d", &n); InputMatrix(a, n); sum = AddDiagonal(a, n); printf("sum = %dn", sum); return 0; } void InputMatrix(int a[N][N], int n) { int i, j; printf("Input %d*%d matrix:n", n, n); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf("%d", &a[i][j]); } } } int AddDiagonal(int a[N][N], int n) { int i, j, sum = 0; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { if (i == j || i + j == n - 1) sum = sum + a[i][j]; } } return sum; }



