#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int sum=0;
for(i=0;i<3;i++)
{
int sum1=0;
int sum2=0;
for(j=0;j<3;j++)
{
if(i==j)
{
sum1=sum1+arr[i][j];
}
else if(i+j==2||i!=j)
{
sum2=sum2+arr[i][j];
}
}
sum=sum1+sum2;
}
printf("对角线元素之和是:%d\n",sum);
return 0;
}
不知道怎么改。求高手··谢谢
#include <stdio.h> int main() { int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; int sum=0; int sum1=0; int sum2=0; int i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i==j) { sum1+=arr[i][j]; } else if(i+j==2) { sum2=sum2+arr[i][j]; } } sum=sum1+sum2; } printf("对角线元素之和是:%d\n",sum); return 0; }
#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int sum=0;
int sum1=0;
int sum2=0;//这里的sum1和sum2的赋值应在第一个for循环之外
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(i==j)
{
sum1=sum1+arr[i][j];
}
else if(i+j==2&&i!=j)
{
sum2=sum2+arr[i][j];
}
}
sum=sum1+sum2;
}
printf("对角线元素之和是:%d\n",sum);
有俩条对角线,你排出来就懂了,矩阵么,对角线和为(i+j)%2=0,像a[0][0]和a[0][2]都在对角线上,分别是正对角线和反对角线