一、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<[email protected]>, 2011-5-4 void 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.053 void 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 340 int 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语言爱心代码大全已备好,你还等什么?赶紧去表白吧!用它展示出作为一枚程序员的浪漫!喜欢的话,麻烦给个赞!谢谢你啦!