如何编写 C 语言程序打印倒金字塔星形图案并提供示例?还将向您展示如何使用不同的符号打印倒金字塔。
C 语言使用 While 循环打印倒金字塔星形图案的程序
此程序允许用户输入他们想要打印为倒金字塔星形图案的最大行数。在这里,我们将打印星号 (*) 组成的倒金字塔,直到达到用户指定的行数。
#include <stdio.h>
int main()
{
int Rows, i, j, k = 0;
printf("Please Enter the Number of Rows: ");
scanf("%d", &Rows);
printf("Printing Inverted Pyramid Star Pattern \n \n");
for ( i = Rows ; i >= 1; i-- )
{
for ( j = 0 ; j <= Rows-i; j++ )
{
printf(" ");
}
k = 0;
while (k != (2 * i - 1))
{
printf("*");
k++;
}
printf("\n");
}
return 0;
}

让我们看看 嵌套 for 循环
外循环 - 第一次迭代:从上面的 C 编程 截图中,您可以看到 i 的值为十,行数为十,因此条件 (i >= 1) 为 True。因此,它将进入第二个 for 循环。
内 For 循环 - 第一次迭代
j 的值为 1,条件 (j <= 9) 为 True。因此,它将开始执行循环内的语句。因此,它将开始执行 printf(" ") 语句,直到条件失败。
内 While 循环 - 第一次迭代
k 的值为 0,条件 k != 2*i – 1 为 True。因此,它将开始执行循环内的语句。因此,它将开始执行 printf("*") 语句,直到条件失败。
接下来,迭代将从头开始,直到内部循环和外部循环的条件都失败。
C 语言使用 For 循环打印倒金字塔星形图案的程序
在此 C 程序中,我们只是用 For 循环替换了 While 循环。我建议您参考 For 循环 文章来理解该逻辑。
#include <stdio.h>
int main()
{
int Rows, i, j, k = 0;
printf("Please Enter the Number of Rows: ");
scanf("%d", &Rows);
for ( i = Rows ; i >= 1; i-- )
{
for ( j = 0 ; j <= Rows-i; j++ )
{
printf(" ");
}
for (k = 0; k < (2 * i - 1); k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
Please Enter the Number of Rows: 10
*******************
*****************
***************
*************
***********
*********
*******
*****
***
*
这个 C 程序 允许用户输入符号和他们想要打印的行数。这意味着它不是打印预定义的星号,而是允许用户输入自己的字符。
#include <stdio.h>
int main()
{
int Rows, i, j, k;
char Ch;
printf("Please Enter any Symbol : ");
scanf("%c", &Ch);
printf("Please Enter the Number of Rows: ");
scanf("%d", &Rows);
for ( i = Rows ; i >= 1; i-- )
{
for ( j = 0 ; j <= Rows-i; j++ )
{
printf(" ");
}
k = 0;
while (k != (2 * i - 1))
{
printf("%c", Ch);
k++;
}
printf("\n");
}
return 0;
}
Please Enter any Symbol : $
Please Enter the Number of Rows: 10
$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$
$$$$$$$$$$$$$
$$$$$$$$$$$
$$$$$$$$$
$$$$$$$
$$$$$
$$$
$