#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)%2 ==0) sum+=arr[i][j]; } } printf("对角线元素之和是:%d\n",sum); return 0; }
代码如上,在其他地方验证过可以,答案也正确,为什么在这里总是会被提示检查代码呢,而且我打例程进去也是提示检查代码?
不可以直接通过I+j判断是否是偶数来判断对角线,例如你把这个3*3的二维数组变成一个4*4的二维数组,那你的这个做法就不对了
那最后就是否定了这个答案吗?
如果你把3*3变成4*4,你会发现标准答案也是错的,所以,你的答案没问题
对角线的坐标:arr[i][j] , i=j 或 i+j等于阶数?