谁能帮我理解这段代码如何打印三角形?

问题描述

我不明白这段代码如何显示三角形。我的主要问题是理解整数 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;
}

解决方法

我猜你想要的程序是

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

变化是:

  • l 改为 Rows
  • j=2 改为 j=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++) 表示 k 的最大值为 j。由于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.

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...