爱心代码--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;
}
c语言心形闪动代码,c语言,程序人生,电脑,经验分享,学习方法,Powered by 金山文档

也许我们可以再加一丁点东西让它变的更加浪漫一些

#include<stdio.h>
#include<Windows.h>

int main()
{
    float x, y, a;
    char color;
    while (1)
    {
        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;
}
c语言心形闪动代码,c语言,程序人生,电脑,经验分享,学习方法,Powered by 金山文档

二.一个会跳动的爱心又有谁不爱呢?

#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);
    }
}
c语言心形闪动代码,c语言,程序人生,电脑,经验分享,学习方法,Powered by 金山文档

三.简单的love

#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;
}
c语言心形闪动代码,c语言,程序人生,电脑,经验分享,学习方法,Powered by 金山文档

四.简单又明了

#include<stdio.h>
#define V 4//设置心形放大倍数
#define list (4*V+3)//列数
#define row (3*V+3)//行数
void FindMainPoint(char line[row][list]);
void Connect(int r1, int r2, int l1, int l2, char line[row][list]);//r行l列
void Print(char line[row][list]);
void Finger(char point[17][20]);
int main(void)
{
    char line[row][list];
    char point[17][20];
    FindMainPoint(line);
    Print(line);
    printf("\n\n");
    Finger(point);
    return 0;
}

//找到关键点
void FindMainPoint(char line[row][list])
{
    int list_mid = (list + 1) / 2 - 1;

    int list_left = (list + 1) / 4 - 1;

    int list_left_right = list_left + 1;

    int list_right = list_mid + list_left + 1;

    int list_right_left = list_right - 1;

    int row_above = 1 - 1;

    int row_mid = row / 3 - 1;

    int row_mid_below = row_mid + 1;

    int row_below = row - 1;

    line[row_above][list_left] = '*';//(4,1)
    line[row_above][list_left_right] = '*';//(5,1)
    line[row_above][list_right] = '*';//(12,1)
    line[row_above][list_right_left] = '*';//(11,1)

    line[row_mid][0] = '*';//(1,4)
    line[row_mid][list_mid] = '*';//(8,4)
    line[row_mid][list - 1] = '*';//(15,4)

    line[row_mid_below][0] = '*';//(1,5)
    line[row_mid_below][list - 1] = '*';//(15,5)

    line[row_below][list_mid] = '*';//(8,12)

    Connect(row_mid, row_above, 0, list_left, line);//(1,4)&&(4,1)
    Connect(row_above, row_mid, list_left_right, list_mid, line);//(5,1)&&(8,4)
    Connect(row_mid, row_above, list_mid, list_right_left, line);//(8,4)&&(11,1)
    Connect(row_above, row_mid, list_right, list - 1, line);//(12,1)&&(15,4)
    Connect(row_mid_below, row_below, 0, list_mid, line);//(1,5)&&(8,12)
    Connect(row_below, row_mid_below, list_mid, list - 1, line);//(8,12)&&(15,5)
    return;
}

//连接关键点
void Connect(int r1, int r2, int l1, int l2, char line[row][list])
{
    int i, j;
    if (r1 > r2)
    {
        for (i = r1, j = l1;i >= r2;i--, j++)
        {
            line[i][j] = '*';
        }
    }
    else
    {
        for (i = r1, j = l1;i <= r2;i++, j++)
        {
            line[i][j] = '*';
        }
    }
    return;
}

//打印爱心
void Print(char line[row][list])
{
    int i, j;
    for (i = 0;i < row;i++)
    {
        printf("\t\t\t\t\t\t");//将图形尽量居中,改变大小后,自行修改
        for (j = 0;j < list;j++)
        {
            if (line[i][j] != '*')
            {
                printf(" ");
            }
            else

                printf("*");
        }
        printf("\n");
    }
}

//打印手指
void Finger(char point[17][20])
{
    int i, j;
    for (i = 0, j = 5;j <= 6;j++)
        point[i][j] = '*';//
    for (j = 4, i = 1;i <= 8;i++)
        point[i][j] = '*';//
    for (j = 7, i = 1;i <= 6;i++)
        point[i][j] = '*';//
    for (i = 4, j = 8;j <= 10;j++)
        point[i][j] = '*';//
    for (j = 11, i = 5;i <= 6;i++)
        point[i][j] = '*';//
    for (i = 5, j = 12;j <= 14;j++)
        point[i][j] = '*';//
    for (j = 15, i = 6;i <= 7;i++)
        point[i][j] = '*';//
    for (i = 6, j = 15;j <= 18;j++)
        point[i][j] = '*';
    for (j = 19, i = 7;i <= 11;i++)
        point[i][j] = '*';//
    for (j = 18, i = 12;i <= 13;i++)
        point[i][j] = '*';//
    for (j = 17, i = 14;i <= 15;i++)
        point[i][j] = '*';//
    for (i = 16, j = 6;j <= 16;j++)
        point[i][j] = '*';//
    for (i = 14, j = 7;j <= 15;j++)
        point[i][j] = '*';
    for (j = 7;j <= 15;j += 4)//
        for (i = 10;i <= 12;i++)
            point[i][j] = '*';
    for (j = 5, i = 14;i <= 15;i++)
        point[i][j] = '*';//
    for (j = 2, i = 10;i <= 11;i++)
        point[i][j] = '*';//
    for (j = 0, i = 7;i <= 8;i++)
        point[i][j] = '*';//
    for (i = 6, j = 1;j <= 2;j++)
        point[i][j] = '*';
    point[7][3] = '*';
    point[9][1] = '*';
    point[12][3] = '*';
    point[13][4] = '*';
    for (i = 0;i < 17;i++)
    {
        printf("\t\t\t\t\t\t  ");//将图形尽量居中,改变大小后,自行修改
        for (j = 0;j < 20;j++)
        {
            if (point[i][j] != '*')
            {
                printf(" ");
            }
            else

                printf("*");
        }
        printf("\n");
    }
}
c语言心形闪动代码,c语言,程序人生,电脑,经验分享,学习方法,Powered by 金山文档

五.好看又直接

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
#define I 20
#define R 350
int main()
{
system("mode con cols=80  lines=80");
system("color F4");
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 < 49;i++)
{
if (i == 20)
{
printf("                 我喜欢你                     ");
i += 15;
}
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");
}
system("pause");
}
c语言心形闪动代码,c语言,程序人生,电脑,经验分享,学习方法,Powered by 金山文档

码字不易,求关注~~

(文中代码与部分内容来源与网络,如有侵权请联系删除)文章来源地址https://www.toymoban.com/news/detail-719979.html

到了这里,关于爱心代码--C语言特供(可直接复制,亲测有效)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 烟花代码(本人亲测,有效)

    代码如下:

    2024年02月12日
    浏览(38)
  • Gitee上传代码保姆级教程(亲测有效)

    作为一名程序猿or程序媛,怎么能不会使用Gitee上传代码,协同开发呢? 今天,一个小白保姆级Gitee上传代码教程他来啦!亲测有效,小伙伴们来trytry吧! 1.已经下载过 Git Bash (如果还没有下载过,请移步至其他博主的博客下载安装Git Bash后再回来继续) 2.有一个Git账号(耍个

    2024年02月03日
    浏览(38)
  • C语言:动态爱心代码

    代码如下: 运行截图(动态效果下爱心形状会像呼吸一样起伏变化):

    2024年02月06日
    浏览(41)
  • 玫瑰花动态代码html(可直接复制)

    !DOCTYPE html html head meta charset=\\\"UTF-8\\\" title玫瑰/title style type=\\\"text/css\\\" #shusheng { position: absolute; width: 100%; height: 100%; text-align: center; } /style /head body div style=\\\"text-align: center\\\" /div div id=\\\"shusheng\\\" canvas id=\\\"c\\\"/canvas script var b = document.body; var c = document.getElementsByTagName(\\\'canvas\\\')[0]; var a = c.getContex

    2024年02月06日
    浏览(28)
  • C语言简单的爱心代码

                     前两天看到网上有很多人在找 爱心代码 ,小编立刻就坐不了,就用C语言简单的写了一个,希望对大家能有帮助。 #includestdio.h #includeWindows.h int main() {     for(int i=0;i2;i++)     {         float x,y,a;      for(y=1.5; y-1.5; y-=0.1)      {           for(x=-1.5;

    2024年02月07日
    浏览(34)
  • C语言最全爱心代码大全

     END 今天的分享到此结束了,如果在编程学习的路上遇到问题,不妨来我的编程学习交流基地一起来学习探讨~ C/C++编程学习基地 https://jq.qq.com/?_wv=1027k=daWCmxJ5

    2024年02月11日
    浏览(22)
  • uniapp 小程序富文本解析(直接复制代码可用)

    1.首先在 static 文件夹新建一个 richText.js 文件,代码如下: 2.在要用到的页面引入: 3.在要用到文本的地方粘贴,同时在data中声明一个  demoHtml: \\\"\\\",  变量 4.从接口拿到值后赋给demoHtml     

    2024年02月16日
    浏览(29)
  • 【C语言表白代码,复杂动态爱心】

    C语言表白代码,复杂动态爱心, 形状会像呼吸一样起伏变化

    2024年02月08日
    浏览(37)
  • Dev-c++的小游戏代码(可直接复制)

    今天我给大家一点实用的小游戏,希望支持。 直接上代码: 以上就是代码,可能有点BUG。

    2024年02月14日
    浏览(36)
  • 灰狼(GWO)算法(附完整Matlab代码,可直接复制)

    有问题可留言或私信,看到了都会回复解答! 其他算法请参考: 1、粒子群(PSO)优化算法(附完整Matlab代码,可直接复制) https://blog.csdn.net/xinzhi1992/article/details/125730562?spm=1001.2014.3001.5502 2、灰狼(GWO)优化算法(附完整Matlab代码,可直接复制) https://blog.csdn.net/xinzhi1992/a

    2024年01月24日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包