问题标题: 分别求方阵两条对角线上的和 怎么做???求解!!!

-1
0

0
已采纳
张瑀涵
张瑀涵
高级光能
高级光能

你可以先遍历所有数组元素:

1.当i==j时,这就是主对角线上的元素;

2.当i+j==n-1时,这就是副对角线上的元素;

最后,再分别对这些元素累加,最后输出。

1
张裕博
张裕博
初级守护
初级守护

第一条对角线的坐标:

(1,1)(2,2)(3,3)......(n,n)

第二条对角线的坐标:

(1,n)(2,n-1)(3,n-2)(4,n-3)......(n,1)

所以用两个for循环即可:

定义这个读入的数组为x[][],对角线和为ans,ans初值为0

第一个对角线:

for(int i=1;i<=n;i++){
    ans+=x[i][i];
}

第二个对角线:

int j=n;
for(int i=1;i<=n;j++){
    ans+=x[i][j];
    j--;
}

 

1
张裕博
张裕博
初级守护
初级守护

楼主你采纳的答案是错的

0
0
0
偶子睿
偶子睿
高级守护
高级守护
//for(int i=1;i<=n;i++)
//{
//    for(int j=1;j<=n;j++)
//    {
//        if(i==j)
//            主对角线
//        if(i+j==n+1)
//            副对角线
//   }
//}

对角线

0
我要回答