一、C语言爱心代码大全,会Ctrl+C就可以表白了!

博主整理了一个C语言爱心代码大全,里面有C语言爱心代码会动的动态效果和C语言爱心代码大全静态效果,只需复制粘贴就可以用啦!

1、动态C语言爱心代码效果图如下:

C语言爱心代码如下:

#include

#include

#include

#include

#include

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, 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

#include

#include

#include

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

#include

#include

#include

#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

#include

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

#include

#include

#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

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

#include

#include

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

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: