sanjiaofeng
2015-07-09 16:26
#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++)
{
for(j=0;j<3;j++)
{
if((i+j==0)||(i+j==2)||(i+j==4))
sum +=arr[i][j];
}
}
printf("对角线元素之和是:%d\n",sum);
return 0;
}个人认为比参考代码好那么一点点
当然此题可以if((i+j)%2==0) 4X4以上的矩形就不行了。
我错了 这样并不行 主要还是找i j 或者n上的关系,感觉更像数学题呢。
11行改成if((i+j)%2==0) 如果是一个庞大的矩阵, 这样算更好。
或者i+j之和除以2 余数为0
这个不错!
C语言入门
928204 学习 · 21545 问题
相似问题