问题描述
我不明白这段代码如何显示三角形。我的主要问题是理解整数 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
我的主要问题是理解整数 j
和 k
的工作原理。它们如何影响三角形的位置?
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.