文申文申 发表于 2022-6-12 19:36:36

答疑??这是为啥???小甲鱼二维数组动动手0T不会了

这个i+j==3是啥意思啊,好突兀啊!!想不过来了,材料人转码中

#include <stdio.h>

int main()
{
      int a = {
                {1, 2, 3, 4, 5},
                {6, 7, 8, 9, 10},
                {11, 12, 13, 14, 15},
                {16, 17, 18, 19, 20}};

      int i, j;

      for (i = 0; i < 4; i++)
      {
                for (j = 0; j < 5; j++)
                {
                        printf("%2d ", a);
                        if (i + j == 3)
                        {
                              printf("\n");
                        }
                }
      }
      printf("\n");

      return 0;
}

wp231957 发表于 2022-6-12 19:47:35

每行输出④个数字,你自己把j   i代入一下就好了

文申文申 发表于 2022-6-12 19:50:20

wp231957 发表于 2022-6-12 19:47
每行输出④个数字,你自己把j   i代入一下就好了

大佬,没懂{:5_109:}

gbdx 发表于 2022-6-12 19:54:52

第一次循环i=0,j一直加到3,i+j==3,五个剩余一个
第二次循环i=1,j一直加到2,i+j==3,五个剩余两个
以此类推

风车呼呼呼 发表于 2022-6-12 20:02:39

与代码无关,这是数学思维,就是4*5的矩阵,按每行4列打印出来,观察原本4*5矩阵的行和列需要在满足什么条件下添加这个换行符

文申文申 发表于 2022-6-12 20:29:49

gbdx 发表于 2022-6-12 19:54
第一次循环i=0,j一直加到3,i+j==3,五个剩余一个
第二次循环i=1,j一直加到2,i+j==3,五个剩余两个
以 ...

我懂了,大佬,就是问题是:当i+j==3,0+3=3,是在(0,3)(第1行第4列)上加换行符还是在(0,3)的下一个格上加换行符

wp231957 发表于 2022-6-12 20:33:22

文申文申 发表于 2022-6-12 20:29
我懂了,大佬,就是问题是:当i+j==3,0+3=3,是在(0,3)(第1行第4列)上加换行符还是在(0,3)的下一 ...

这个题目的本质就是把④行⑤列
变成⑤行④列,所以在哪里换行,还用问吗

Victor0321 发表于 2022-6-13 00:03:25

大几阿
页: [1]
查看完整版本: 答疑??这是为啥???小甲鱼二维数组动动手0T不会了