为了账号安全,请及时绑定邮箱和手机立即绑定

为什么是%2???

能解释一下这个循环过程是怎么样的么?

正在回答

4 回答

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.

于是就可以完成计算了


0 回复 有任何疑惑可以回复我~

           if(i==j||i+j==2){
               sum+=arr[i][j];

0 回复 有任何疑惑可以回复我~

#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;   
}

0 回复 有任何疑惑可以回复我~

如果是4阶矩阵的话%2不就没用了?4阶以上怎么办?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926028    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

为什么是%2???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信