题目:
6-1 求10×10方阵主副对角线元素之和
分数 5
全屏浏览题目
切换布局
作者 李军
单位 陕西理工大学
给定一个10×10的方阵,本题要求计算该方阵主对角线和副对角线所有元素之和。主对角线为从方阵的左上角至右下角的连线,副对角线为从方阵的右上到左下角的连线。
要求:
编写函数按照题意计算元素之和。
函数接口定义:
int sumMatrix(int (*a)[10]);
指针a
指向了一个10×10的方阵
裁判测试程序样例:
#include<stdio.h> #define N 10 /* 请在这里填写答案 */ void createMatrix(int (*a)[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; }
输入样例:
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
输出样例:
110
答案:
int sumMatrix(int (*a)[10])
{
int i=0,j=0,k=0;
int sum1=0,sum2=0;
for(i=0;i<10;i++)
{
j=i;
sum1=sum1+(*a)[j];
k=9-i;
sum2=sum2+(*a)[k];
a++;
}
return sum1+sum2;
}