圣诞节快到了,这是我到csdn度过的第一个圣诞节,也是我学习计算机的第一个圣诞节,为了让它更有意义,我呕心沥血,自己打了两版初学者版,再在网上找了一版进阶版,都十分精美,废话少说,代码奉上:
#include<stdio.h>#include<windows.h>#include<string.h>void color(int x) { if(x>=0 && x<=15) tconsoletextattribute(getstdhandle(std_output_handle), x); el tconsoletextattribute(getstdhandle(std_output_handle), 7);}void t_christmastree(char *p){ int i,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("="); }}int main(){int t=0;color(11);printf("首先祝这个电脑前的小可爱圣诞快乐(~ ̄▽ ̄)~");printf("\n"); printf("接下来有几个选项需要您的选择,你需要我的作者给您画的圣诞树还是自己做一个呢?"); printf("\n"); printf("看作者的选0,如果想自己做呢选1,祝您开心o(*^@^*)o"); printf("您的选择是:"); scanf("%d",&t); if(t==0){ char l[6]="happyu",m[100]="merry christmas."; t_christmastree(l); color(3); printf("\ni want to say:\n"); puts(m); printf("made by zhanduanwanfeng."); } if(t==1){ char k[6],w[100]="merry christmas."; printf("请选择您要隐藏的字符,只有六个字符哦,可以有特殊含义(imissu,iloveu等哦)后面还可加一句你想说的话,与前面字符用空格隔开,字符间不要加空格哦>_<:"); scanf("%s",k);gets(w); t_christmastree(k);color(3); printf("\ni want to say:\n"); puts(w); printf("made by zhanduanwanfeng.");}return 0;}
这是效先谋生再谋爱是什么意思果图:
比前一个多了雪花,复杂了些。
#include<stdio.h>#include<windows.h>#include<string.h>void color(int x) { if(x>=0 && x<=15) tconsoletextattribute(getstdhandle(std_output_handle), x); el tconsoletextattribute(getstdhandle(std_output_handle), 7);}void t_christmastree(char *p){ //打印圣诞树和雪景的函数 int i,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(" "); } el if(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; } el if(s==n+4+y){ color(5); printf("%c",p[1]); color(2); continue; } el if(s==n+6+y){ color(4); printf("%c",p[2]); color(2); continue;}el if(s==n+8+y){ color(1); printf("%c",p[3]); color(2); continue;}el if(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("="); }}int main(){int t=0;color(11);printf("首先祝这个电脑前的小可爱圣诞快乐(~ ̄▽ ̄)~");printf("\n"); printf("接下来有几个选项需要您的选择,你需要我的作者给您画的圣诞树还是自己做一个呢?"); printf("\n"); printf("看作者的选0,如果想自己做呢选1,祝您开心o(*^@^*)o"); printf("您的选择是:"); scanf("%d",&t); if(t==0){ char l[6]="happyu",m[100]="merry christmas."; t_christmastree(l); color(3); printf("\ni want to say:\n"); puts(m); printf("made by zhanduanwanfeng."); } if(t==1){ char k[6],w[100]="merry christmas."; printf("请选择您要隐藏的字符,只有六个字符哦,可以有特殊含义(imissu,iloveu等哦)后面还可加一句你想说的话,与前面字符用空格隔开,字符间不要加空格哦>_<:"); scanf("%s",k);gets(w); t_christmastree(k);color(3); printf("\ni want to say:\n"); puts(w); printf("made by zhanduanwanfeng.");}return 0;}
这是效果图:
#include <windows.h>#include <math.h>#include <stdio.h>#include <stdlib.h>#define pi 3.14159265359#define t px + scale * r * cosf(theta), py + scale * r * sin(theta)float sx, sy;float sdcircle(float px, float py, float r) { float dx = px - sx, dy = py - sy; return sqrtf(dx * dx + dy * dy) - r;}float opunion(float d1, float d2) { return d1 < d2 ? d1 : d2;}float f(float px, float py, float theta, float scale, int n) { float d = 0.0f; for (float r = 0.0f; r < 0.8f; r += 0.02f) d = opunion(d, sdcircle(t, 0.05f * scale * (0.95f - r))); if (n > 0) for (int t = -1; t <= 1; t += 2) { float tt = theta + t * 1.8f; float ss = scale * 0.9f; for (float r = 0.2f; r < 0.8f; r += 0.1f) { d = opunion(d, f(t, tt, ss * 0.5f, n - 1)); ss *= 0.8f; } } return d;}int ribbon() { float x = (fmodf(陈仲举礼贤sy, 0.1f) / 0.1f - 0.5f) * 0.5f; return sx >= x - 0.05f && sx <= x + 0.05f;}int main(int argc, char* argv[]) { int n = argc > 1 ? atoi(argv[1]) : 3; float zoom = 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("\n\n\n"); for (size_t i = 0; i < 40; i++) { putchar(' '); 猪腰的做法大全 } //_sleep(5000); printf("merry christmas, baby青岛日本料理店~!\n"); sleep(500); for (size_t i = 0; i < 40; i++) { putchar(' '); } printf("never say die.\n"); sleep(500); for (size_t i = 0; i < 40; i++) { putchar(' '); } printf("2016/12/24, 最爱你的up主\n"); getchar();}
效果图就不放了,感兴趣可以试试,很炫哦。
到此这篇关于用c语言实现圣诞树(简易版+进阶版)的文章就介绍到这了,更多相关c语言圣诞树内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 04:38:01,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/56f408941c07f7e0bfada0f25cb9e733.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:用C语言实现圣诞树(简易版+进阶版).doc
本文 PDF 下载地址:用C语言实现圣诞树(简易版+进阶版).pdf
留言与评论(共有 0 条评论) |