C语言50行实现简易版节日效果树(图解+注释)
不要为成功而努力,要为做一个有价值的人而努力。——爱因斯坦
★本篇笔记简介:0.前言-->1.效果图-->2.代码实现-->3.图解分析
目录
0、前言
🐼窗外日光弹指过,席间花影坐前移。不知不觉,又到了研考时间,星光不负赶路人,时光不负有心人。
💖祝大家:研考顺利!
🐼
1、效果图
首先,先看一下效果图:
2、代码实现(+注释)
然后我们主要分为三块来实现程序
#include<stdio.h> #include<stdlib.h> int main(){ system("mode con: cols=60 lines=80");//程序页面长宽//此句删去不影响正常输出 int i,j,k,m; //第一块 for(i=1;i<=7;i++){ for(j=1;j<=15;j++){ printf(" "); //控制图形位置 } for(k=1;k<=7-i;k++){ printf(" "); //控制图形框架 } for(m=1;m<=2*i-2;m++){ printf("*"); //输出图形符号 } printf("\n"); //输出换行 } //第二块 for(i=1;i<=7;i++){ for(j=1;j<15-3;j++){ printf(" "); //控制图形位置 } for(k=1;k<=7-i;k++){ printf(" "); //控制图形框架 } for(m=1;m<=2*i+6;m++){ printf("*"); //输出图形符号 } printf("\n"); //输出换行 } //第三块 for(i=1;i<=6;i++){ for(j=1;j<=20;j++){ printf(" "); //控制图形位置 } for(k=1;k<=3;k++){ printf("*"); //控制图符号 } printf("\n"); //输出换行 } printf("\t星光不负赶路人,时光不负有心人。\n\t\t祝:研考顺利!"); printf("!\n"); return 0; }
3、图解分析
此处主要图解分析第一块,后两块实现原理都可参考第一块如何实现 。
①假如我们只输出第一块,效果如图:
同理第二块:
第三块:
②第一块细分
将第一块再划分为三部分
int i,j,k,m; //第一块 for(i=1;i<=7;i++){ //第一部分 for(j=1;j<=15;j++){ printf(" "); //控制图形位置 } //第二部分 for(k=1;k<=7-i;k++){ printf(" "); //控制图形框架 } //第三部分 for(m=1;m<=2*i-2;m++){ printf("*"); //输出图形符号 } printf("\n"); //输出换行 }
我们来分析一下:
如果保留第一部分和第三部分,我们来看一下效果:
int i,j,k,m; //第一块 for(i=1;i<=7;i++){ //第一部分 for(j=1;j<=15;j++){ printf(" "); //控制图形位置 } //第三部分 for(m=1;m<=2*i-2;m++){ printf("*"); //输出图形符号 } printf("\n"); //输出换行 }
效果如图
:
同理,二、三部分:
int i,j,k,m; //第一块 for(i=1;i<=7;i++){ //第二部分 for(k=1;k<=7-i;k++){ printf(" "); //控制图形框架 } //第三部分 for(m=1;m<=2*i-2;m++){ printf("*"); //输出图形符号 } printf("\n"); //输出换行 }
效果如图
:
我想看到这里,大家应该会有所启发,突破点在于对for循环控制的使用,试着自己实现一下吧!如果有不懂之处,下方评论,我看到会马上回答的。
作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)
★喜欢的话,还请多多点赞与关注!❤ 感谢支持!❤
如有缺漏或不懂之处,欢迎评论交流学习!