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语言入门
926021 学习 · 20793 问题
相似问题