用for循环打印一个爱心(不知道错在哪里了,😰)

/time:2022.3.26. 18:36
1,output->two trapezoids->cut three triangles;2,output->rectangle;3,output->triangle->cut two triangles.
/
#include<stdio.h>
int main()
{
int k,t,r,x,e,p,q;
char b,c;
char d[]=". . . . . . . . . . . . .";
char a[]=". . . . . . . . . . . . .";
b=32;
c=46;
for(k=3;k>=1;k-=1)
{
a[25]=d[25];//恢复初始的排列
for (t=2*k-2;t>=0;t-=2)
{
a[0+t]=b;
a[24-t]=b;//抠除两边的小直角三角形
if (t=0)
{
a[10]=-3+k;
a[12]=-2+k;
a[14]=-3+k;
for (e=10;e<=14;e+=2)
{
if(a[e]<0) a[e]=c;
else a[e]=b;//抠除中间的小三角形
printf("%s\n",a);
}
}
}
}
//1,output->two trapezoids;
for(r=1;r<=2;r++)
{
printf("%s\n",d);
}
//2,output->rectangle; for(r=1;r<=2;r++)
for(p=0;p<=5;p+=1)
{
a[25]=d[25];//恢复初始的排列
for (q=0;q<=2*p;q+=2)
{
a[0+q]=b;
a[24-q]=b;//抠除两边的大直角三角形
if(q=2*p) printf("%s\n",a);
}
}
//3,output->triangle->cut two triangles.
return 0;
}

可以参考如下程序


#include<stdio.h>
void main() {
    for (int i = 0; i < 3; i++) {        //第一部分
        for (int j = 0; j < (3 - i) * 2 - 1; j++) {        //打印空格,倒直角三角
            printf(" ");
        }
        for (int j = 0; j < (i + 1) * 4 + 2; j++) {        //打印*,左侧梯形
            printf("*");
        }
        for (int j = 0; j < ((3 - i) * 2 - 1) * 2 - 1; j++) {        //打印空格,倒等腰三角形
            printf(" ");
        }
        for (int j = 0; j < (i + 1) * 4 + 2; j++) {        //打印*,右侧梯形
            printf("*");
        }
        printf("\n");        // 换行
    }

    for (int i = 0; i < 3; i++) {        //第二部分,打印长方形
        for (int j = 0; j < 31; j++) {
            printf("*");
        }
        printf("\n");
    }

    for (int i = 0; i < 8; i++) {        //第三部分,打印倒三角形
        for (int j = 0; j < i * 2 + 1; j++) {
            printf(" ");
        }
        for (int j = 0; j < 4 * (8 - i) - 3; j++) {
            printf("*");
        }
        printf("\n");
    }
}

img