C 语言打印倒金字塔星形图案程序

如何编写 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;
}
C Program to Print Inverted Pyramid Star Pattern 1

让我们看看 嵌套 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
 
 $$$$$$$$$$$$$$$$$$$
  $$$$$$$$$$$$$$$$$
   $$$$$$$$$$$$$$$
    $$$$$$$$$$$$$
     $$$$$$$$$$$
      $$$$$$$$$
       $$$$$$$
        $$$$$
         $$$
          $