📅  最后修改于: 2023-12-03 15:29:43.636000             🧑  作者: Mango
在C语言中,有许多回路和控制结构来控制程序的流程和执行顺序。在这个问题中,我们将讨论一个经典的问题,即如何使用循环结构打印出一个等腰三角形。
请编写一个C语言程序,输出一个如下所示的等腰三角形:
*
***
*****
*******
*********
这个问题可以使用循环来解决。我们可以从上到下逐行打印三角形。对于每一行,我们需要确定应该打印多少个星号(*)以及在哪里打印它们。
根据等腰三角形的特性,我们可以发现,在第i行有2*i-1个星号,而这些星号位于第n行的位置为n-i到n+i-2。因此,我们可以使用一个外部循环来控制行数,内部循环来控制在当前行打印的星号。
我们可以使用for循环来编写程序,其中外部循环控制行数,内部循环控制列数。具体实现如下:
#include <stdio.h>
int main()
{
int n = 5; // 三角形的高度
int i, j;
for (i = 1; i <= n; i++) // 外部循环控制行数
{
for (j = 1; j <= n-i; j++) // 在当前行之前空出一些位置
{
printf(" ");
}
for (j = 1; j <= 2*i-1; j++) // 内部循环控制在当前行打印的星号
{
printf("*");
}
printf("\n"); // 换行
}
return 0;
}
程序输出结果如下:
*
***
*****
*******
*********
上述代码使用了两个for循环嵌套来完成等腰三角形的输出。外部循环变量i控制当前打印的行数,内部循环变量j控制在当前行打印的星号的数量和位置。
本文介绍了如何使用循环来输出一个等腰三角形。C语言中的回路和控制结构非常灵活,可以让我们轻松实现各种复杂的程序逻辑。在编写程序时,我们应该充分利用这些结构来提高代码的效率和可读性。