0

我正在尝试使用嵌套的 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)

但我很难确定把它放在哪里。对逻辑的任何帮助表示赞赏。谢谢你。

4

3 回答 3

2

两个修复。

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

插图:

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

爱迪生

于 2013-03-20T04:16:37.953 回答
1

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

i=0;
for (j=0; j<3; ++j)
    for (k=0; k<j; ++k)
        a[i++] = b[j][k];
于 2013-03-20T04:13:09.360 回答
0

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

int i = 0;
for (j=0; j<3; ++j)
    for (k=0; k<j; ++k)
        a[i++] = b[j][k];
于 2013-03-20T04:14:32.993 回答