【问题标题】:Nested for loop logic嵌套for循环逻辑
【发布时间】:2013-03-20 04:09:37
【问题描述】:

我正在尝试使用嵌套的 for 循环(C 语言)完成以下操作:

    a[0] = b[0][0];
    a[1] = b[1][0];
    a[2] = b[1][1];
    a[3] = b[2][0];
    a[4] = b[2][1];
    a[5] = b[2][2];
    a[6] = b[3][0];
    a[7] = b[3][1];
    a[8] = b[3][2];
    a[9] = b[3][3];

我有这个:

    for (j=0; j<3; ++j)
        for (k=0; k<j; ++k)
            a[i] = b[j][k];

我想我需要这个:

    for (i=0; i<9; ++i)

但我不知道该把它放在哪里。对逻辑的任何帮助表示赞赏。谢谢。

【问题讨论】:

    标签: c for-loop logic nested-loops


    【解决方案1】:

    两个修复。

    • 包括一个计数器
    • 让您的绑定支票包含在内

    图解:

    int i=0;
    for (j = 0; j <= 3; ++j)
        for (k = 0; k <= j; ++k)
            a[i++] = b[j][k];
    

    Ideone

    【讨论】:

      【解决方案2】:

      你离得太近了!应该这样做:

      i=0;
      for (j=0; j<3; ++j)
          for (k=0; k<j; ++k)
              a[i++] = b[j][k];
      

      【讨论】:

        【解决方案3】:

        您只需要在嵌套的 for 循环中增加一个变量:

        int i = 0;
        for (j=0; j<3; ++j)
            for (k=0; k<j; ++k)
                a[i++] = b[j][k];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-03-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多