瘦瘦的年轻人
2018-09-23 21:06
能解释一下这个循环过程是怎么样的么?
123
456
789
我们需要计算 1+3+5+7+9的值,也就是25.
if(i%2==0 && j%2==0) 这个条件就是解决了 1+3+7+9
为什么解决了这四个呢
因为1的i和j都是0,0%2=0
3的i也是0,而j是2,2%2=0
同理7和9也可以满足if条件
然后再使用sum += arr[1][1];
加上中间的5.
于是就可以完成计算了
if(i==j||i+j==2){
sum+=arr[i][j];
#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||i+j==2){
sum+=arr[i][j];
}
}
}
printf("对角线元素之和是:%d\n",sum);
return 0;
}
如果是4阶矩阵的话%2不就没用了?4阶以上怎么办?
C语言入门
926028 学习 · 20793 问题
相似问题