输入一个M行M列的二维数组,分别计算两条对角线元素的和。
并分别输出两条对角线的和和对角线的和。
#include <stdio.h>
#define M 3 //M的值可以修改
int main(int argc, char **argv) {
int f[M][M],sum=0,count=0; //sum表示主对角线元素的和,count表示副对角线元素的和
for(int i=0;i<M;i++){
for(int j=0;j<M;j++){
scanf("%d",&f[i][j]);
}
}
for(int i=0;i<M;i++){
sum+=f[i][i]; //求主对角线的和
count+=f[i][M-1-i]; //求副对角线的和
}
if(M%2==0){
printf("主对角线=%d,副对角线=%d,对角线的和=%d\n",sum,count,sum+count);
}
else{
printf("主对角线=%d,副对角线=%d,对角线的和=%d\n",sum,count,sum+count-f[(M-1)/2][(M-1)/2]);
}
}