首页 > 作文

画圣诞树

更新时间:2023-03-05 10:28:58 阅读: 评论:0

饰品专柜-显示仪表

画圣诞树
2023年3月5日发(作者:蒸雪梨)

⽤C语⾔实现圣诞树(简易版+进阶版)

⽬录

前⾔

初学者版:

初学者版2

以下是进阶版,更炫:

总结

前⾔

圣诞节快到了,这是我到CSDN度过的第⼀个圣诞节,也是我学习计算机的第⼀个圣诞节,为了让它更有意义,我呕⼼沥⾎,⾃⼰打了两版

初学者版,再在⽹上找了⼀版进阶版,都⼗分精美,废话少说,代码奉上:

初学者版:

#include

#include

#include

voidcolor(intx)

{

if(x>=0&&x<=15)

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x);

el

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);

}

voidt_Christmastree(char*p){

inti,j,n=5,s;

color(2);

printf("n");

for(i=1;i<=n;i++){

if(i==1){

for(j=1;j<=i;j++){

for(s=1;s<=n+11-j;s++){

printf("");

}

for(s=1;s<=2*j-1;s++){

printf("*");

}

printf("n");

}

}

el{

for(j=i;j<=i+1;j++){

for(s=1;s<=n+11-j;s++)

{

printf("");

}

for(s=1;s<=2*j-1;s++)

{

if(s==n-3){

color(11);

printf("%c",p[0]);

color(2);

continue;

}

if(s==n-1){

color(5);

printf("%c",p[1]);

color(2);

continue;

}

if(s==n+1){

color(4);

printf("%c",p[2]);

color(2);

continue;

}

if(s==n+3){

color(1);

printf("%c",p[3]);

color(2);

continue;

}

if(s==n+5){

color(12);

printf("%c",p[4]);

color(2);

continue;

}

printf("*");

}

printf("n");

}

}

}

color(6);

for(s=1;s<=n+11;s++)

{

if(s==n+9)

{

printf("|||||n");

color(15);

printf("%c%c%c%c%c",p[5],p[5],p[5],p[5],p[5]);

continue;

}

printf("");

}

printf("n");

for(s=1;s<=36;s++)

{

if(s==n+11)

{

printf("V");

continue;

}

printf("=");

}

}

intmain(){

intt=0;

color(11);

printf("⾸先祝这个电脑前的⼩可爱圣诞快乐(~ ̄▽ ̄)~");printf("n");

printf("接下来有⼏个选项需要您的选择,你需要我的作者给您画的圣诞树还是⾃⼰做⼀个呢?");

printf("n");

printf("看作者的选0,如果想⾃⼰做呢选1,祝您开⼼o(*^@^*)o");

printf("您的选择是:");

scanf("%d",&t);

if(t==0){

charl[6]="HAPPYU",m[100]="MerryChristmas.";

t_Christmastree(l);

color(3);

printf("nIwanttosay:n");

puts(m);

printf("Madebyzhanduanwanfeng.");

}

if(t==1){

chark[6],w[100]="MerryChristmas.";

printf("请选择您要隐藏的字符,只有六个字符哦,可以有特殊含义(IMISSU,ILOVEU等哦)后⾯还可加⼀句你想说的话,与前⾯字符⽤空格隔开,字符间不要加空格哦>_<:");

scanf("%s",k);

gets(w);

t_Christmastree(k);

color(3);

printf("nIwanttosay:n");

puts(w);

printf("Madebyzhanduanwanfeng.");

}

return0;

}

这是效果图:

初学者版2

⽐前⼀个多了雪花,复杂了些。

#include

#include

#include

voidcolor(intx)

{

if(x>=0&&x<=15)

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x);

el

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);

}

voidt_Christmastree(char*p){//打印圣诞树和雪景的函数

inti,j,n=5,s,y=0;

color(2);

printf("n");

for(i=1;i<=n;i++){

y++;

if(i==1){//第⼀层是⼀个*,之后都是梯形

for(j=1;j<=i;j++){

for(s=1;s<=36;s++){

if((s<=n+11-j)||(s>=17)){

if(s%(i+3)==i){//雪景

color(15);

putchar('*');

color(2);

}

el

printf("");

}

elif(s==n+11){

putchar('*');

}

}

printf("n");

}

}

el{

for(j=i;j<=i+1;j++){//打印梯形

for(s=1;s<=36;s++)

{

if((s<=n+11-j)||(s>=n+11+j)){

if(s%(i+3)==i){//雪景

color(15);

putchar('*');

color(2);

}

el

printf("");

}

el{

if(s==n+2+y){//这⼏个if函数都是⽤来打印圣诞树上的变⾊字符

color(11);

printf("%c",p[0]);

color(2);

continue;

}

elif(s==n+4+y){

color(5);

printf("%c",p[1]);

color(2);

continue;

}

elif(s==n+6+y){

color(4);

printf("%c",p[2]);

color(2);

continue;

}

elif(s==n+8+y){

color(1);

printf("%c",p[3]);

color(2);

continue;

}

elif(s==n+10+y){

color(12);

printf("%c",p[4]);

color(2);

continue;

}

el

printf("*");

}

}

printf("n");

}

}

}

color(6);

for(s=1;s<=34;s++)//树桩

{

if(s==n+9){

color(15);

printf("*****");

color(6);

printf("|||||");

color(15);

printf("*****n");

printf("*****%c%c%c%c%c*****",p[5],p[5],p[5],p[5],p[5]);

continue;

}

/*el{

color(15);

printf("*");

//color(6);

}*/

}

printf("n");

for(s=1;s<=34;s++){

if(s==n+11){

printf("V");

continue;

}

el

printf("=");

}

}

intmain(){

intt=0;

color(11);

printf("⾸先祝这个电脑前的⼩可爱圣诞快乐(~ ̄▽ ̄)~");printf("n");

printf("接下来有⼏个选项需要您的选择,你需要我的作者给您画的圣诞树还是⾃⼰做⼀个呢?");

printf("n");

printf("看作者的选0,如果想⾃⼰做呢选1,祝您开⼼o(*^@^*)o");

printf("您的选择是:");

scanf("%d",&t);

if(t==0){

charl[6]="HAPPYU",m[100]="MerryChristmas.";

t_Christmastree(l);

color(3);

printf("nIwanttosay:n");

puts(m);

printf("Madebyzhanduanwanfeng.");

}

if(t==1){

chark[6],w[100]="MerryChristmas.";

printf("请选择您要隐藏的字符,只有六个字符哦,可以有特殊含义(IMISSU,ILOVEU等哦)后⾯还可加⼀句你想说的话,与前⾯字符⽤空格隔开,字符间不要加空格哦>_<:");

scanf("%s",k);

gets(w);

t_Christmastree(k);

color(3);

printf("nIwanttosay:n");

puts(w);

printf("Madebyzhanduanwanfeng.");

}

return0;

}

这是效果图:

以下是进阶版,更炫:

#include

#include

#include

#include

#definePI3.

#defineTpx+scale*r*cosf(theta),py+scale*r*sin(theta)

floatsx,sy;

floatsdCircle(floatpx,floatpy,floatr){

floatdx=px-sx,dy=py-sy;

returnsqrtf(dx*dx+dy*dy)-r;

}

floatopUnion(floatd1,floatd2){

returnd1

}

floatf(floatpx,floatpy,floattheta,floatscale,intn){

floatd=0.0f;

for(floatr=0.0f;r<0.8f;r+=0.02f)

d=opUnion(d,sdCircle(T,0.05f*scale*(0.95f-r)));

if(n>0)

for(intt=-1;t<=1;t+=2){

floattt=theta+t*1.8f;

floatss=scale*0.9f;

for(floatr=0.2f;r<0.8f;r+=0.1f){

d=opUnion(d,f(T,tt,ss*0.5f,n-1));

ss*=0.8f;

}

}

returnd;

}

intribbon(){

floatx=(fmodf(sy,0.1f)/0.1f-0.5f)*0.5f;

returnsx>=x-0.05f&&sx<=x+0.05f;

}

intmain(intargc,char*argv[]){

intn=argc>1?atoi(argv[1]):3;

floatzoom=argc>2?atof(argv[2]):1.0f;

for(sy=0.8f;sy>0.0f;sy-=0.02f/zoom,putchar('n'))

for(sx=-0.35f;sx<0.35f;sx+=0.01f/zoom){

if(f(0,0,PI*0.5f,1.0f,n)<0.0f){

if(sy<0.1f){

putchar('.');

}el{

if(ribbon()){

putchar('=');

}el{

putchar("............................#j&o"[rand()%32]);

}

}

}el{

putchar('');

}

}

Sleep(1000);

printf("nnn");

for(size_ti=0;i<40;i++){

putchar('');

}

//_sleep(5000);

printf("MerryChristmas,baby~!n");

Sleep(500);

for(size_ti=0;i<40;i++){

putchar('');

}

printf("Neversaydie.n");

Sleep(500);

for(size_ti=0;i<40;i++){

putchar('');

}

printf("2016/12/24,最爱你的UP主n");

getchar();

}

效果图就不放了,感兴趣可以试试,很炫哦。

总结

到此这篇关于⽤C语⾔实现圣诞树(简易版+进阶版)的⽂章就介绍到这了,更多相关C语⾔圣诞树内容请搜索以前的⽂章或继续浏览下⾯的相

关⽂章希望⼤家以后多多⽀持!

本文发布于:2023-03-05 10:28:58,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1677983338144959.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:画圣诞树.doc

本文 PDF 下载地址:画圣诞树.pdf

标签:画圣诞树
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26 专利检索|