国庆我们实验室布置了作业,其中一项为,利用流程控制语句打印以下图形
*
***
*****
*******
*****
***
*
代码如下
#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打印,这已是最简陋的画爱心的方法了,在网上搜索到的都是利用坐标等,这些我目前还没学。
虽然代码十分简陋,但仍然忍不住在这与大家分享,如果有更傻瓜式又更美观或高效的方法,希望能有大神指点。