自学C,用for语句输出一个*号图形

在学习C语言,学到for语句时,布置了一个习题。
用for语句输出以下图形。

img

#include <stdio.h>
#include <stdlib.h>
#include<windows.h>

int main()
{
   int a,b,c,d;
   d=5;


   for(b=1;b<=d;b++)//循环五行
   {
   for(a=d;a>=b;a--)//每行空隔数量
   {
   printf(" ",a);
   }
 
    for(c=0;c<=a;c++)//每行星星数量
  {
   
      printf("*");
   }
  printf("\n");
   }
    return 0;
}


我写的是这样的,但还不是那个效果。

使用C语言输出如下图所示的图案:

img

这里可以拆分为等边三角形+等边三角形旋转180°的图案组成,细节是下方的三角形 只用循环 9 次,他们公用一个长度为 10 的边:

img

原文链接:
https://www.sqlsec.com/2018/10/for.html