C语言打印Floyd三角形程序

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;
}
Program to Print Floyd’s Triangle 1

前两个语句允许用户输入打印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
 
 
* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 
* * * * * * * * * 
* * * * * * * * * *