一、C语言爱心代码大全,会Ctrl+C就可以表白了!
博主整理了一个C语言爱心代码大全,里面有C语言爱心代码会动的动态效果和C语言爱心代码大全静态效果,只需复制粘贴就可以用啦!
1、动态C语言爱心代码效果图如下:
C语言爱心代码如下:
#include<graphics.h>#include<conio.h>#include<time.h>#include<math.h>#include<sys/timeb.h> struct MyLove{ int NUMS; // 编号 double m; double n; double size; bool Is_show; int x; int y;}; MyLove mylove[400];int CenterX = 320;int CenterY = 180;double Size = 60;void initdata(); // 初始化数据void updata(); // 更新void movedata(); // 平移void showdata(); // 显示int* GetRand(int* buf, int count, int range); // 随机数的生成void heart(int x0, int y0, int size, COLORREF C);void HpSleep(int ms); int main(){ initgraph(640, 480); initdata(); BeginBatchDraw(); while (true) { updata(); showdata(); HpSleep(30); // 改为精确延时 FlushBatchDraw(); cleardevice(); } EndBatchDraw(); _getch(); return 0;} void updata(){ int* buf = (int*)malloc(sizeof(int) * 20); buf = GetRand(buf, 20, (int)(2 * Size / 0.01)); movedata(); for (int i = 0; i < 20; i++) { mylove[i].m = buf[i] * 0.01; mylove[i].n = (((sin(buf[(int)i] * 0.01) * sqrt(fabs(cos(buf[(int)i] * 0.01)))) / (sin(buf[(int)i] * 0.01) + 1.4142)) - 2 * sin(buf[(int)i] * 0.01) + 2); mylove[i].size = Size; mylove[i].NUMS = i / 20; mylove[i].Is_show = true; mylove[i].x = (int)(-Size * mylove[i].n * cos(mylove[i].m) + CenterX); mylove[i].y = (int)(-Size * mylove[i].n * sin(mylove[i].m) + CenterY - mylove[i].size); } for (int i = 20; i < 400; i++) { mylove[i].size = mylove[i].size + 1; if (mylove[i].size > 80) { mylove[i].size = 80; } mylove[i].NUMS = i / 20; mylove[i].x = (int)(-mylove[i].size * mylove[i].n * cos(mylove[i].m) + CenterX); mylove[i].y = (int)(-mylove[i].size * mylove[i].n * sin(mylove[i].m) + CenterY - mylove[i].size); }} void movedata(){ for (int i = 399; i > 19; i--) { mylove[i] = mylove[i - 20]; }} void showdata(){ settextcolor(RED); wchar_t c = 0x59; // 0x28 是电话机在 Wingdings 字体中的对应编码 for (int i = 0; i < 400; i++) { settextstyle(mylove[i].NUMS + 10, 0, "Webdings"); setbkmode(TRANSPARENT); outtextxy(mylove[i].x + 20, mylove[i].y + 20, c); }} int* GetRand(int* buf, int count, int range){ struct timeb timeSeed; ftime(&timeSeed); srand(timeSeed.time * 1000 + timeSeed.millitm); // milli time for (int i = 0; i < count; i++) { int randTmp = rand() % range; for (int j = 0; j < i; j++) { if (buf[j] == randTmp) { break;//检查重复。 } } buf[i] = randTmp; } return buf;} void initdata(){ for (int i = 0; i < 400; i++) { mylove[i].NUMS = 0; mylove[i].m = 0; mylove[i].n = 0; mylove[i].size = 0; mylove[i].Is_show = false; mylove[i].x = 0; mylove[i].y = 0; }} // 精确延时函数(可以精确到 1ms,精度 ±1ms)// by yangw80<yw80@qq.com>, 2011-5-4void HpSleep(int ms){ static clock_t oldclock = clock(); // 静态变量,记录上一次 tick oldclock += ms * CLOCKS_PER_SEC / 1000; // 更新 tick if (clock() > oldclock) // 如果已经超时,无需延时 oldclock = clock(); else while (clock() < oldclock) // 延时 Sleep(1); // 释放 CPU 控制权,降低 CPU 占用率,精度 10~16ms // Sleep(0); // 更高精度、更高 CPU 占用率,精度 1ms}
2、静态C语言爱心代码大全展示效果如下:
C语言爱心代码如下:
#include <stdio.h>#include <math.h>#include <windows.h>#include <tchar.h> float f(float x, float y, float z) {float a = x * x + 9.0f / 4.0f * y * y + z * z - 1;return a * a * a - x * x * z * z * z - 9.0f / 80.0f * y * y * z * z * z;} float h(float x, float z) { for (float y = 1.0f; y >= 0.0f; y -= 0.001f)if (f(x, y, z) <= 0.0f)return y;return 0.0f;} int main() {HANDLE o = GetStdHandle(STD_OUTPUT_HANDLE);_TCHAR buffer[25][80] = { _T(' ') };_TCHAR ramp[] = _T(".:-=+*#%@"); for (float t = 0.0f;; t += 0.1f) {int sy = 0;float s = sinf(t);float a = s * s * s * s * 0.2f;for (float z = 1.3f; z > -1.2f; z -= 0.1f) {_TCHAR* p = &buffer[sy++][0];float tz = z * (1.2f - a);for (float x = -1.5f; x < 1.5f; x += 0.05f) {float tx = x * (1.2f + a);float v = f(tx, 0.0f, tz);if (v <= 0.0f) {float y0 = h(tx, tz);float ny = 0.01f;float nx = h(tx + ny, tz) - y0;float nz = h(tx, tz + ny) - y0;float nd = 1.0f / sqrtf(nx * nx + ny * ny + nz * nz);float d = (nx + ny - nz) * nd * 0.5f + 0.5f;*p++ = ramp[(int)(d * 5.0f)];}else*p++ = ' ';}} for (sy = 0; sy < 25; sy++) {COORD coord = { 0, sy };SetConsoleCursorPosition(o, coord);WriteConsole(o, buffer[sy], 79, NULL, 0);}Sleep(33);}}
3、love彩色C语言爱心代码大全效果图如下:
C语言爱心代码:
/*爱心代码:*/#include<stdio.h>#include<math.h>#include<windows.h>#include<time.h>#define U 0.1#define V 0.053void SetColor(unsigned short ForeColor,unsigned short BackGroundColor){ HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hCon,(ForeColor%16)|(BackGroundColor%16*16));}int main(){ int i,s=0,t,a=10,b=11,c=12,d=13,e=14; int z[] = {32,32,206,210,176,174,209,197,209,197,33,32,32}; /* 用两位ASCⅡ码表示汉字,中间用“,”分隔; 32,32--表示空格 206,210--我 176,174--爱 209,197--雅 (想找ASCⅡ码对应的汉字,可以下载“中英文字符编码查询”小软件,可以点击我的头像到我发布的资源中查找) */ float x,y; srand(time(NULL)); for(y=1.3;y>=-1.1;y-=U) { for(x=-2;x<1.4;x+=V) { if((((x*x+y*y-1)*(x*x+y*y-1)*(x*x+y*y-1)-x*x*y*y*y)<=0)) { if(y>=1.3-10*U||y<=1.3-11*U) { s++; if(s%4==1){SetColor(a,0);printf("l");} if(s%4==2){SetColor(e,0);printf("o");} if(s%4==3){SetColor(c,0);printf("v");} if(s%4==0){SetColor(d,0);printf("e");} } else { for(i = 0;i < 42;i++) { if(i<=14||i>=28) { s++; if(s%4==1){SetColor(a,0);printf("l");} if(s%4==2){SetColor(e,0);printf("o");} if(s%4==3){SetColor(c,0);printf("v");} if(s%4==0){SetColor(d,0);printf("e");} } else { SetColor(b,0); printf("%c", z[i-15]); Sleep(50); } } break; } } else printf(" "); Sleep(1); } printf("\n"); } printf("l love you"); getchar(); while(1) { system("cls"); t=a;a=b;b=c;c=d;d=e;e=t; for(y=1.3;y>=-1.1;y-=U) { for(x=-2;x<1.4;x+=V) { if((((x*x+y*y-1)*(x*x+y*y-1)*(x*x+y*y-1)-x*x*y*y*y)<=0)) { if(y>=1.3-10*U||y<=1.3-11*U) { s++; if(s%4==1){SetColor(a,0);printf("l");} if(s%4==2){SetColor(b,0);printf("o");} if(s%4==3){SetColor(c,0);printf("v");} if(s%4==0){SetColor(d,0);printf("e");} } else { for(i = 0;i < 42;i++) { if(i<=14||i>=28) { s++; if(s%4==1){SetColor(a,0);printf("l");} if(s%4==2){SetColor(b,0);printf("o");} if(s%4==3){SetColor(c,0);printf("v");} if(s%4==0){SetColor(d,0);printf("e");} } else { SetColor(e,0); printf("%c", z[i-15]); } } break; } } else printf(" "); } printf("\n"); } Sleep(1000); system("cls"); }}
4、红色雪花C语言爱心代码大全图案
C语言爱心代码:
#include<stdio.h>#include<Windows.h>int main(){float x,y,a;for(y=1.5; y>-1.5; y-=0.1){for(x=-1.5; x<1.5; x+=0.05){a=x*x+y*y-1;putchar(a*a*a-x*x*y*y*y<=0.0?'*':' ');}system("color 0c");putchar('\n');}return 0;}
5、C语言爱心代码大全—里面含有动态生日快乐
C语言爱心代码:
#include <stdio.h>#include <math.h>#include <stdlib.h>#define I 20#define R 340int main(){system("mode con cols=80 lines=60 ");system("title 向你致以最诚挚的祝福!");char data[200][60] = { {"祝你生日快乐!祝你生日快乐 !"},{"\nHappy birthday to you!\n"},{"Happy birthday my dear friend!\n"},{"在你面前的台里本,总有一天是很独特!\n"},{"虽然你和我,没办法选,来到世界的某刻。\n"},{"天气寒冷,又或炎热,又或者什么血型和星座!\n"},{"每年这刻,我对自己说,有生的日子要更快乐!\n"},{"天气寒冷,又或炎热,又或者什么血型和星座!\n"},{"每年这刻,我对自己说,有生的日子要更快乐!\n"},{"爸爸妈妈辛苦了!谢谢你们为我付出太多!\n"},{"生日祝福,吹灭蜡烛,我要我自己不许哭。 \n"},{"长大了一岁变得靠谱,继续走自己的旅程!\n"},{"又到这一个时刻,幸福的花火,手机祝福收到很多很多。\n"},{"看到最后一条来自你,写着让我感动的话语。\n"},{"亲爱的朋友要经常联络,我们一起来唱这首歌!\n"},{"祝你生日快乐!我们一起快乐!\n"}};int sign = 0;int i, j, e;int a;long time;for (i = 1, a = I; i < I / 2; i++, a--){for (j = (int)(I - sqrt(I * I - (a - i) * (a - i))); j > 0; j--)printf(" ");for (e = 1; e <= 2 * sqrt(I * I - (a - i) * (a - i)); e++)printf("\3");for (j = (int)(2 * (I - sqrt(I * I - (a - i) * (a - i)))); j > 0; j--)printf(" ");for (e = 1; e <= 2 * sqrt(I * I - (a - i) * (a - i)); e++)printf("\3");printf("\n");}for (i = 1; i < 80; i++){if (i == 25){printf("======祝皮皮龙,生日快乐。======");i += 30;}printf("\3");}printf("\n");for (i = 1; i <= R / 2; i++){if (i % 2 || i % 3)continue;for (j = (int)(R - sqrt(R * R - i * i)); j > 0; j--)printf(" ");for (e = 1; e <= 2 * (sqrt(R * R - i * i) - (R - 2 * I)); e++)printf("\3");printf("\n");} for (; ; ){system("color a");for (time = 0; time < 99999999; time++); system("color b");for (time = 0; time < 99999999; time++); system("color c");for (time = 0; time < 99999999; time++); system("color d");for (time = 0; time < 99999999; time++); system("color e");for (time = 0; time < 99999999; time++); system("color f");for (time = 0; time < 99999999; time++);system("color 0"); for (time = 0; time < 99999999; time++);system("color 1"); for (time = 0; time < 99999999; time++);system("color 2"); for (time = 0; time < 99999999; time++);system("color 3"); for (time = 0; time < 99999999; time++);system("color 4");for (time = 0; time < 99999999; time++); system("color 5");for (time = 0; time < 99999999; time++); system("color 6");for (time = 0; time < 99999999; time++); system("color 7");for (time = 0; time < 99999999; time++); system("color 8");for (time = 0; time < 99999999; time++); system("color 9");for (time = 0; time < 99999999; time++); system("color ab");for (time = 0; time < 99999999; time++); system("color ac");for (time = 0; time < 99999999; time++); system("color ad");for (time = 0; time < 99999999; time++); system("color ae");for (time = 0; time < 99999999; time++); system("color af");for (time = 0; time < 99999999; time++);printf("%s", data[sign]);sign++;}return 0;}
6、love组成C语言爱心代码
C语言爱心代码:
#include <stdio.h>int main(){ int i, j, k, n = 0, x = 0, y = 50; //爱心的头部没有规律,所以直接打印 printf("\n\n\n\n\n"); printf(" lovelove lovelove\n"); printf(" lovelovelove lovelovelove\n"); printf(" lovelovelovelove lovelovelovelove\n"); printf(" lovelovelovelovelove lovelovelovelovelove\n"); printf(" lovelovelovelovelovelo lovelovelovelovelovelo\n"); printf(" lovelovelovelovelovelove lovelovelovelovelovelov\n"); for (i = 0; i < 2; i++) { printf("lovelovelovelovelovelovelovelovelovelovelovelovelove\n"); } for(i=0;i<5;i++) //爱心的中间部分的上部分 { y = 50; y = y - i*2; n++; for (k = 0; k < n; k++) //在每一行的起始位置先打印空格 { printf(" "); } while(1) //空格后面打印love,但是要注意love即使没打印完,也要换行 { if (x < y) { printf("l"); y--; } else break; if (x < y) { printf("o"); y--; } else break; if (x < y) { printf("v"); y--; } else break; if (x < y) { printf("e"); y--; } else break; } printf("\n"); } //最下面的部分,具体内容同上,没和上一部分放一起是因为从这行开始多两个空格 for (i = 0,n=3; i < 10; i++) { y = 37; y = y - i * 4; n++; for (k = 0; k < n; k++) { printf(" "); } while (1) { if (x < y) { printf("l"); y--; } else break; if (x < y) { printf("o"); y--; } else break; if (x < y) { printf("v"); y--; } else break; if (x < y) { printf("e"); y--; } else break; } printf("\n"); } printf("\n\n\n\n\n\n\n\n\n\n\n\n"); return 0;}
7、 红色玫瑰C语言代码大全
代码:
#include <stdio.h>#include <math.h>#include <stdlib.h>const int max_iterations = 128; const float stop_threshold = 0.01f; const float grad_step = 0.01f; const float clip_far = 10.0f; const float PI = 3.14159265359f; const float PI2 = 6.28318530718f; const float DEG_TO_RAD = PI / 180.0f; typedef struct { float x, y; } vec2; typedef struct { float x, y, z; } vec3; typedef struct { float m[9]; } mat3; const vec3 light_pos = { 20.0f, 50.0f, 20.0f }; float min(float a, float b) { return a < b ? a : b; } float max(float a, float b) { return a > b ? a : b; } float clamp(float f, float a, float b) { return max(min(f, b), a); } vec2 make2(float x, float y) { vec2 r = { x, y }; return r; } vec2 add2(vec2 a, vec2 b) { vec2 r = { a.x + b.x, a.y + b.y }; return r; } vec2 sub2(vec2 a, vec2 b) { vec2 r = { a.x - b.x, a.y - b.y }; return r; } float dot2(vec2 a, vec2 b) { return a.x * b.x + a.y * b.y; } float length2(vec2 v) { return sqrt(dot2(v, v)); } vec3 make3(float x, float y, float z) { vec3 r = { x, y, z }; return r; } vec3 add3(vec3 a, vec3 b) { vec3 r = { a.x + b.x, a.y + b.y, a.z + b.z }; return r; } vec3 sub3(vec3 a, vec3 b) { vec3 r = { a.x - b.x, a.y - b.y, a.z - b.z }; return r; } vec3 mul3(vec3 a, vec3 b) { vec3 r = { a.x * b.x, a.y * b.y, a.z * b.z }; return r; } vec3 scale3(vec3 v, float s) { vec3 r = { v.x * s, v.y * s, v.z * s }; return r; } float dot3(vec3 a, vec3 b) { return a.x * b.x + a.y * b.y + a.z * b.z; } float length3(vec3 v) { return sqrt(dot3(v, v)); } vec3 normalize3(vec3 v) { return scale3(v, 1.0f / length3(v)); } vec3 mul(mat3 m, vec3 v) { return make3( m.m[0] * v.x + m.m[3] * v.y + m.m[6] * v.z, m.m[1] * v.x + m.m[4] * v.y + m.m[7] * v.z, m.m[2] * v.x + m.m[5] * v.y + m.m[8] * v.z);}mat3 rotationXY(float x, float y) { vec2 c = { cos(x), cos(y) }, s = { sin(x), sin(y) }; mat3 m = { c.y , 0.0f, -s.y, s.y * s.x, c.x, c.y * s.x, s.y * c.x, -s.x, c.y * c.x }; return m;}float opI(float d1, float d2) { return max(d1, d2); } float opU(float d1, float d2) { return min(d1, d2); } float opS(float d1, float d2) { return max(-d1, d2); } float sdPetal(vec3 p, float s){ p = add3(mul3(p, make3(0.8f, 1.5f, 0.8f)), make3(0.1f, 0.0f, 0.0f)); vec2 q = make2(length2(make2(p.x, p.z)), p.y); float lower = length2(q) - 1.0f; lower = opS(length2(q) - 0.97f, lower); lower = opI(lower, q.y); float upper = length2(sub2(q, make2(s, 0.0f))) + 1.0f - s; upper = opS(upper, length2(sub2(q, make2(s, 0.0f))) + 0.97f - s); upper = opI(upper, -q.y); upper = opI(upper, q.x - 2.0f); float region = length3(sub3(p, make3(1.0f, 0.0f, 0.0f))) - 1.0f; return opI(opU(upper, lower), region);}float map(vec3 p) { float d = 1000.0f, s = 2.0f; mat3 r = rotationXY(0.1f, PI2 * 0.618034f); r.m[0] *= 1.08f; r.m[1] *= 1.08f; r.m[2] *= 1.08f; r.m[3] *= 0.995f; r.m[4] *= 0.995f; r.m[5] *= 0.995f; r.m[6] *= 1.08f; r.m[7] *= 1.08f; r.m[8] *= 1.08f; for (int i = 0; i < 21; i++) { d = opU(d, sdPetal(p, s)); p = mul(r, p); p = add3(p, make3(0.0, -0.02, 0.0)); s *= 1.05f; } return d;}vec3 gradient(vec3 pos) { const vec3 dx = { grad_step, 0.0, 0.0 }; const vec3 dy = { 0.0, grad_step, 0.0 }; const vec3 dz = { 0.0, 0.0, grad_step }; return normalize3(make3( map(add3(pos, dx)) - map(sub3(pos, dx)), map(add3(pos, dy)) - map(sub3(pos, dy)), map(add3(pos, dz)) - map(sub3(pos, dz))));}float ray_marching(vec3 origin, vec3 dir, float start, float end) { float depth = start; for (int i = 0; i < max_iterations; i++) { float dist = map(add3(origin, scale3(dir, depth))); if (dist < stop_threshold) return depth; depth += dist * 0.3; if (depth >= end) return end; } return end;}float shading(vec3 v, vec3 n, vec3 eye) { vec3 ev = normalize3(sub3(v, eye)); vec3 vl = normalize3(sub3(light_pos, v)); float diffuse = dot3(vl, n) * 0.5f + 0.5f; vec3 h = normalize3(sub3(vl, ev)); float rim = pow(1.0f - max(-dot3(n, ev), 0.0f), 2.0f) * 0.15f; float ao = clamp(v.y * 0.5f + 0.5f, 0.0f, 1.0f); return (diffuse + rim) * ao;}vec3 ray_dir(float fov, vec2 pos) { vec3 r = { pos.x, pos.y, -tan((90.0f - fov * 0.5f) * DEG_TO_RAD) }; return normalize3(r);} float f(vec2 fragCoord) { vec3 dir = ray_dir(45.0f, fragCoord); vec3 eye = { 0.0f, 0.0f, 4.5f }; mat3 rot = rotationXY(-1.0f, 1.0f); dir = mul(rot, dir); eye = mul(rot, eye); float depth = ray_marching(eye, dir, 0.0f, clip_far); vec3 pos = add3(eye, scale3(dir, depth)); if (depth >= clip_far) return 0.0f; else return shading(pos, gradient(pos), eye);}int main() { puts("TX"); for (int y = 0; y < 80; y++) { for (int x = 0; x < 160; x++) putchar(" .,-:;+=*#@"[(int)(f(make2((x / 160.0f - 0.5f) * 2.0f, (y / 80.0f - 0.5f) * -2.0f)) * 12.0f)]); putchar('\n'); } printf(" 一见钟情,不是看了一眼就喜欢上了你。而是在看了一眼之后,就再也没有忘记过你。-----ZXY"); system("color 0c"); return 0;}
二、C语言爱心代码大全已备好,你还等什么?
C语言爱心代码大全已备好,你还等什么?赶紧去表白吧!用它展示出作为一枚程序员的浪漫!喜欢的话,麻烦给个赞!谢谢你啦!