C语言50行实现简易版节日效果树(图解+注释)

举报
Code_流苏 发表于 2022/04/20 14:51:33 2022/04/20
【摘要】 C语言50行实现简易版节日效果树(图解+注释)

C语言50行实现简易版节日效果树(图解+注释)

不要为成功而努力,要为做一个有价值的人而努力。——爱因斯坦

本篇笔记简介0.前言-->1.效果图-->2.代码实现-->3.图解分析
@TOC

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😊)

★喜欢的话,还请多多点赞与关注!❤ 感谢支持!❤
如有缺漏或不懂之处,欢迎评论交流学习!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。