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 控制行数。

这两种方法结合了循环的嵌套和条件控制,可以灵活地输出不同形式的直角三角形。