Floyd三角形是一个由自然数构成的直角三角形。本文将展示如何用C语言编写一个打印Floyd三角形的程序,并附带示例。
C语言打印Floyd三角形程序
此程序允许用户输入想要打印的Floyd三角形的最大行数。我们将打印整数形式的Floyd三角形,直到达到用户指定的行数。
#include <stdio.h>
int main()
{
int Rows, i, j, Number = 1;
printf(" Please Enter the Number of Rows: ");
scanf("%d", &Rows);
printf(" \n Printing FLOYD'S Triangle \n \n");
for ( i = 1 ; i <= Rows; i++ )
{
for ( j = 1 ; j <= i; j++ )
{
printf("%d ", Number);
Number++;
}
printf("\n");
}
return 0;
}

前两个语句允许用户输入打印Floyd三角形的范围或最大行数。
现在让我们详细了解一下嵌套for循环的逻辑。
让我们按迭代次数查看C语言打印Floyd三角形程序的执行过程。
外循环 – 第一次迭代
从上面的C编程截图可以看出,i的值为1,行数为5,条件(i <= 5)为真。因此,它将进入第二个for循环。
内层循环 – 第一次迭代
j的值为1,条件(j <= 1)为真。因此,它将开始执行循环内的语句。下面的语句将打印Number作为输出,我们都知道Number = 1,所以打印了1。
printf("%d ", Number);
下面的语句Number++将使用增量运算符将Number的值增加1。
内层循环 – 第二次迭代
j的值将为2,条件(2 <= 1)为假,因此它将退出第二个循环。下面的声明是终止当前行。
printf("\n");
外层循环 – 第二次迭代
i的值将为2,条件(2 <=5)为真。因此,它将进入第二个for循环。
内层循环 – 第一次迭代
j的值为1,条件(1 <= 2)为真。因此,它将开始执行循环内的语句。下面的语句将打印Number作为输出,我们都知道Number = 2,所以打印了2。
printf("%d ", Number);
下面的语句Number++会将Number的值增加1。
接下来,j的值也将增加1。
内层循环 – 第二次迭代
j的值为2,条件(2 <= 2)为真。因此,它将开始执行循环内的语句。这意味着将打印3。
内层循环 – 第三次迭代
j的值将为3,条件(3 <= 2)为假,因此它将退出第二个循环。
这个过程会一直持续到达到5为止,之后,内层循环和外层循环都将终止。
C语言打印不带自然数的Floyd三角形程序
此程序允许用户输入要打印的Floyd三角形的行数。在此示例程序中,我们将使用*符号打印Floyd三角形。此程序也可以称为使用*符号打印直角三角形。
#include <stdio.h>
int main()
{
int Rows, i, j;
printf(" Please Enter the Number of Rows: ");
scanf("%d", &Rows);
printf(" \n \n \n");
for ( i = 1 ; i <= Rows; i++ )
{
for ( j = 1 ; j <= i; j++ )
{
printf("* ");
}
printf("\n");
}
return 0;
}
Please Enter the Number of Rows: 10
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *