矩阵对角线求和程序如下:
#include<stdio.h>
int main()
{
int a[3][3];
int i,j,sum1 = 0,sum2 = 0;
for(i=0; i<3; i++){
for(j=0; j<3; j++){
scanf("%d",&a[i][j]);
}
}
for(i=0; i<3; i++){
for(j=0; j<3; j++){
if(i == j)
sum1 += a[i][j];
if(i + j == 2)
sum2 += a[i][j];
}
}
printf("%d %d\n",sum1,sum2);
return 0;
}
在做题目之前要认真分析题目,这道题是写矩阵并对对角线求和,对对角线求和就涉及到行列 所以在定义完数组之后要定义行和列 以及主对角线和副对角线的和
主对角线上得数行列坐标相等 所以i==j
我遇到得问题在副对角线上,开始我令i+j4
运行没有错误可执行出来的副对角线数字和样例输出得数不一样 ,我改正代码 令i+j2 阅读书籍发现数组的下标是从0开始的。