0

我不明白这段代码如何显示三角形。我的主要问题是理解整数 j 和 k 的工作。它们如何影响三角形的位置?

#include <stdio.h>

int main(){
    int j,k,Rows;
    printf("Enter The Number of Rows : ");
    scanf("%d", &Rows);

    for(j=2;j<=l;j++){
        for(k=1;k<=j;k++){
            printf("  %d ", j);
        }
        printf("\n");
    }
    return 0;
}
4

1 回答 1

2

我猜你想要的程序是

#include <stdio.h>

int main(){
    int j,k,Rows;
    printf("Enter The Number of Rows : ");
    scanf("%d", &Rows);

    for(j=1;j<=Rows;j++){
        for(k=1;k<=j;k++){
            printf("  %d ", j);
        }
        printf("\n");
    }
    return 0;
}

变化是:

  • 更改lRows
  • 更改j=2j=1

这是一个示例结果

Enter The Number of Rows : 6
  1 
  2   2 
  3   3   3 
  4   4   4   4 
  5   5   5   5   5 
  6   6   6   6   6   6

我的主要问题是理解整数jk. 它们如何影响三角形的位置?

j这里可以表示行索引。k可以表示列索引。换句话说,k表示当前行中有多少项。for(k=1;k<=j;k++)表示 的最大值kj。由于j增加了 1,所以 的最大值k也增加了 1:

口          # j = 1, the max value of k is 1, so this row has 1 item.
口 口       # j = 2, the max value of k is 2, so this row has 2 items.
口 口 口    # j = 3, the max value of k is 3, so this row has 3 items.
口 口 口 口 # j = 4, the max value of k is 4, so this row has 4 items.
于 2021-03-13T11:28:49.830 回答