基本思路:将爱心分为四段第一段为前三行,第二段中间数目相等的三行第三段为倒数七行最后一段为最后一行。
前三行输出的" “数与”*"数要与行数联系起来,
倒数七行的星号数为一个从27逐行减4的一个数列。
代码如下
#include <stdio.h>
#include <stdlib.h>
void color();
int main()
{
int x,y,i,m,a;//x表示行数
for(x=0;x<3;x++)//前三行的排列
{for(i=5-2*x;i>0;i--){printf(" ");}
for(m=5+4*x;m>0;m--){ printf("*");}
for(i=5-2*x;i>0;i--){printf(" ");}
for(i=4-2*x;i>0;i--){printf(" ");}
for(m=5+4*x;m>0;m--){printf("*");}
printf("\n");
}//以上为前三行
for(x=0;x<3;x++)
{for(y=0;y<29;y++) {printf("*");}
printf("\n");
}//中间三行
for(x=0;x<7;x++)
{for(m=1+2*x;m>0;m--){ printf(" "); }
for(y=27-4*x;y>0;y--){ printf("*");}
printf("\n");
}//以上是倒数七行
for(m=14;m>0;m--){ printf(" ");}
printf("*");//以上是最后一行
color();//完成颜色变换函数
}
void color(void)//该函数完成爱心的闪烁
{
int a;
while(1)
{
for(a=0;a<15;a++)
{
system("color 84");
}
for(a=0;a<15;a++)
{
system("color 80");
}
}
}