如何使用C语言以菱形图案打印星星?

在这里,为了以菱形图案打印星星,我们使用嵌套的for循环。

我们用于以菱形图案打印星星的逻辑如下所示-

//对于钻石的上半部分,逻辑为:
for (j = 1; j <= rows; j++){
   for (i = 1; i <= rows-j; i++)
      printf(" ");
   for (i = 1; i<= 2*j-1; i++)
      printf("*");
   printf("\n");
}

假设让我们考虑rows = 5,它按如下所示输出输出:

      *
     ***
    *****
   *******
  *********

//对于钻石的下半部分,逻辑为:
for (j = 1; j <= rows - 1; j++){
   for (i = 1; i <= j; i++)
      printf(" ");
   for (i = 1 ; i <= 2*(rows-j)-1; i++)
      printf("*");
   printf("\n");
}

假设row = 5,将输出以下输出-

*******
  *****
  ***
   *

示例

#include <stdio.h>
int main(){
   int rows, i, j;
   printf("Enter no of rows\n");
   scanf("%d", &rows);
   for (j = 1; j <= rows; j++){
      for (i = 1; i <= rows-j; i++)
         printf(" ");
      for (i = 1; i<= 2*j-1; i++)
         printf("*");
      printf("\n");
   }
   for (j = 1; j <= rows - 1; j++){
      for (i = 1; i <= j; i++)
         printf(" ");
      for (i = 1 ; i <= 2*(rows-j)-1; i++)
         printf("*");
      printf("\n");
   }
   return 0;
}
输出结果
Enter no of rows
5
            *
          * * *
        * * * * *
      * * * * * * *
    * * * * * * * * *
      * * * * * * *
        * * * * *
         * * *
           *