用C语言制作爱心

时间:2023-03-09 15:04:07
用C语言制作爱心

国庆我们实验室布置了作业,其中一项为,利用流程控制语句打印以下图形

*

***

*****

*******

*****

***

*

代码如下

#include <stdio.h>
 int main()
 {
     int a,b,c;
     for(a=0;a<=3;a++)
     {for(b=0;b<=3-a;b++)
     printf(" ");
          for(c=0;c<=2*a;c++)
     printf("*");
     printf("\n");
     }
     for(a=0;a<=3;a++)
     {
         for(b=0;b<=a+1;b++)
            printf(" ");
         for(c=0;c<=4-2*a;c++)
            printf("*");
         printf("\n");
     }

做完这项作业后,我突发奇想,既然可以做出这种图形,那能否利用类似流程控制语句做出爱心的图案。(程序员的浪漫)

于是我设想了这样一幅图

*   *

*** ***

*********

*******

*****

***

*

ps1(这里因为排版不是很好看)

ps2(因为是初学者,所以只能做这种简单的图案)

前半段我实在想不出用什么算法,所以只用了最简陋的printf来打印(希望有大神能教我怎么做)

后半段我参考了我们的作业,利用流程控制语句来完成

最终代码是这样子的

#include <stdio.h>
int main()
{
    int a,b,c;
    printf("  *   *  \n");
    printf(" *** *** \n");
    for(a=0;a<=8;a++)
    {
        for(b=1;b<=a;b++)
            printf(" ");
        for(c=0;c<=8-2*a;c++)
            printf("*");
            printf("\n");
    }
    return 0;
}

我想除了只用printf打印,这已是最简陋的画爱心的方法了,在网上搜索到的都是利用坐标等,这些我目前还没学。

虽然代码十分简陋,但仍然忍不住在这与大家分享,如果有更傻瓜式又更美观或高效的方法,希望能有大神指点。