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

*

***

*****

*******

*****

***

*

代码如下

#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打印,这已是最简陋的画爱心的方法了,在网上搜索到的都是利用坐标等,这些我目前还没学。

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

用C语言制作爱心的更多相关文章

  1. 利用R语言制作出漂亮的交互数据可视化

    利用R语言制作出漂亮的交互数据可视化 利用R语言也可以制作出漂亮的交互数据可视化,下面和大家分享一些常用的交互可视化的R包. rCharts包 说起R语言的交互包,第一个想到的应该就是rCharts包 ...

  2. 创业实战go语言制作网站(转)

    简单介绍一下之前的整个职业生涯,挺典型的,工程师 –> 资深工程师 –> 架构师 –> 项目经理 –> 部门经理,可以说,产品研发过程中的所有角色我都走了一遍,任职的公司也越来 ...

  3. 用C语言制作小型商品信息管理系统过程中的问题

    大神请默默飘过... 以下是第一次制作时的源码: // 商品信息管理.cpp : 定义控制台应用程序的入口点. // // 小型商品信息管理系统.cpp : 定义控制台应用程序的入口点. // #in ...

  4. 易语言制作的QQ聊天中常用的GIF图片【带源码下载】

    该软件调用网页实现表情包制作,使用了精益模块. 最近比较火的王境泽.张学友.切格瓦拉.为所欲为.今天星期五.黑人问号脸.偷电瓶车.诸葛孔明.金坷垃等都可以通过此软件在线制作属于你的表情包. 太困了懒得 ...

  5. C/C++编程笔记:C语言制作情侣必备《爱情电子相册》,源码解析!

    今天是521,就分享一个程序员必会的——情侣回忆杀<爱情电子相册>吧!话不多说,先上思路,后接源码! 具备能力: 1.基本可视化编程 1.1 initgraph(800,600); 1.2 ...

  6. 89.canvas制作爱心

    <!DOCTYPE html> <html> <head>     <title>JavaScript和html53D玫瑰花(程序员的情人节礼物)< ...

  7. 使用PHP语言制作具有加减乘除取余功能的简单计算器

    准备工作: 使用环境 :PHPStudy 开启Apache和Mysql 打开代码编辑器 <!DOCTYPE html> <html lang="en"> & ...

  8. C语言可以开发哪些项目?

    C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中--,这些迷茫也导致了我们在学习的过程 ...

  9. iOS XCode7制作.Framework动态库和.a静态库的总结

    一.开发SDK时的支持情况: OC语言制作动态库时,支持iOS8+:OC语言制作静态库,支持iOS7+. Swift语言制作动态库时,支持iOS8+;Swift不支持静态库. 对于SDK来说,支持情况 ...

随机推荐

  1. PlayFramework 1.2.x 在Controller 中识别JSON提交

    链接 http://stackoverflow.com/questions/6132892/consuming-json-in-play-framework-controller @Global pu ...

  2. Python strange questions list

    sys.setrecursionlimit(1<<64) Line 3: OverflowError: Python int too large to convert to C long ...

  3. tengine-2.1.0 + lua + base64

    参考:http://my.oschina.net/eduosi/blog/169606 安装 readline,lua 编译需要用到这个,centos 可以通过 yum 直接安装,如果不需要系统的,可 ...

  4. [SQL Server]Index/deadlock

    http://www.cnblogs.com/tintown/archive/2005/04/24/144272.html http://coolshell.cn/ http://blogs.msdn ...

  5. 【Java设计模式】单例模式

    ### 1. 概述> 单例模式是确保某一个类中有且只有一个实例. ----------### 2. 饿汉式单例``` javapublic class SingletonInstance { p ...

  6. [原]零基础学习视频解码之seek

    现在,我们要添加一些功能,当你看不能倒带的电影,是不是很烦? 那么函数av_seek_frame功能看起来是多么赏心悦目. 我们将让左,右箭头来回走在影片中通过一个小的向上和向下箭头很多,其中“三多一 ...

  7. Legolas工业自动化平台入门(三)交互事件响应动作

    在上一篇Legolas工业自动化平台入门(二)数据响应动作 一文中,我们介绍了"动作"相关内容,了解到"动作"分为多种,各种动作的添加方式相同,但是应用方式各自 ...

  8. 注意Activator.CreateInstance两个重载方法的性能

    今天扩展一个Type的扩展方法New: public static object New(this Type type, params object[] args) { Guard.ArgumentN ...

  9. 3、使用Oracle Logminer同步Demo

    使用Oracle Logminer同步Demo 1 Demo介绍 1.1 Demo设想 前面介绍了Oracle LogMiner配置使用以及使用LogMiner进行解析日志文件性能,在这篇文章中将利用 ...

  10. [git]修改commit

    git commit --amend 修改上一个的commit信息. git reset commit_id 修改commit,同时改变commit历史,可用于合并commit. git revert ...