c语言输出直角三角形
在 C 语言中,输出直角三角形可以通过嵌套循环来实现。直角三角形有两种常见的形式:左对齐和右对齐。下面分别介绍这两种形式的实现方法。
左对齐的直角三角形
左对齐的直角三角形每一行星号从第一列开始,依次增加。例如,打印一个高度为5的左对齐直角三角形:
c#include <stdio.h>
int main() {
int height = 5;
// 外层循环控制行数
for (int i = 1; i <= height; ++i) {
// 内层循环控制每行的星号数
for (int j = 1; j <= i; ++j) {
printf("* ");
}
printf("\n");
}
return 0;
}
输出结果:
markdown*
* *
* * *
* * * *
* * * * *
右对齐的直角三角形
右对齐的直角三角形每一行星号在最右侧,其余位置用空格填充。例如,打印一个高度为5的右对齐直角三角形:
c#include <stdio.h>
int main() {
int height = 5;
// 外层循环控制行数
for (int i = 1; i <= height; ++i) {
// 内层循环控制每行的空格数
for (int k = 1; k <= height - i; ++k) {
printf(" "); // 输出两个空格,保证对齐
}
// 内层循环控制每行的星号数
for (int j = 1; j <= i; ++j) {
printf("* ");
}
printf("\n");
}
return 0;
}
输出结果:
markdown *
* *
* * *
* * * *
* * * * *
解释:
- 左对齐直角三角形:内层循环
j
控制每行的星号数,外层循环i
控制行数,每行打印完星号后换行。 - 右对齐直角三角形:内层循环
k
控制每行的空格数,使得星号从最右侧开始输出,内层循环j
控制每行的星号数,外层循环i
控制行数。
这两种方法结合了循环的嵌套和条件控制,可以灵活地输出不同形式的直角三角形。