c语言爱心代码详解_C语言程序源代码

c语言爱心代码详解_C语言程序源代码1、love图案的C语言爱心代码C语言爱心代码如下:#include<stdio.h>intmain(){inti,j,k,n=0,x=0,y=50;//爱心的头部没有规律,所以直接打印printf(“\n\n\n\n\n”);printf(“lovelovelovelove\n”);printf(“lovelovelove

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1、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;
}

已把大量C语言源码整理为一个压缩包关注微 信 公 众 号:“C和C加加”  回复:“源码”  即可获取 

效果展示:

c语言爱心代码详解_C语言程序源代码

2、心形图案的C语言爱心代码

代码如下:

#include <stdio.h>
int main()
{
int  i, j, k, l, m;
char c=3; //ASCII码里面 3 就是一个字符小爱心
for (i=1; i<=5; i++)    printf("\n"); //开头空出5行
for (i=1; i<=3; i++) { //前3行中间有空隙分开来写
for (j=1; j<=32-2*i; j++)  printf(" "); //左边的空格,每下一行左边的空格比上一行少2个 //8*n-2*i
for (k=1; k<=4*i+1; k++)  printf("%c", c);//输出左半部分字符小爱心
for (l=1; l<=13-4*i; l++)  printf(" "); //中间的空格,每下一行的空格比上一行少4个
for (m=1; m<=4*i+1; m++)  printf("%c", c);//输出右半部分字符小爱心
printf("\n");  //每一行输出完毕换行
}
for (i=1; i<=3; i++) { //下3行中间没有空格
for (j=1; j<=24+1; j++)   printf(" "); //左边的空格 //8*(n-1)+1
for (k=1; k<=29; k++)   printf("%c", c);//输出字符小爱心
printf("\n");  //每一行输出完毕换行
}
for (i=7; i>=1; i--) { //下7行
for (j=1; j<=40-2*i; j++)  printf(" "); //左边的空格,每下一行左边的空格比上一行少2个//8*(n+1)-2*i
for (k=1; k<=4*i-1; k++)  printf("%c", c);//每下一行的字符小爱心比上一行少4个(这个循环是i--)
printf("\n");  //每一行输出完毕换行
}
for (i=1; i<=39; i++)    printf(" "); //最后一行左边的空格
printf("%c\n", c);  //最后一个字符小爱心
for (i=1; i<=5; i++)    printf("\n"); //最后空出5行
return 0;
}

效果展示:

c语言爱心代码详解_C语言程序源代码

3、复杂动态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);
}
}

效果如下: 

c语言爱心代码详解_C语言程序源代码

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182584.html原文链接:https://javaforall.net

(2)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA设计模式初探之组合模式

    先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。”   就拿剪发办卡的事情来分析一下吧。   首先,一张卡可以在总部,分店,加盟店使用,那么总部可以刷卡,分店也可以刷卡,加盟店也可以刷卡,这个属性结构的店面层级关系就明确啦。   那么,总店刷卡消费与分店刷卡消费是一样的道理,那么总店与分店对会员卡的使用

    2022年3月11日
    33
  • Wscript.shell 详解

    Wscript.shell 详解Wscript.shellWscript.shell是Wshshell的ProIDWshshell是一个对象,存放在windows系统中的wshom.ocx文件中,可供在windows上运行的程序调用。他可对windows的外壳程序进行访问。对象(object)是一些相关变量和方法的软件集,或者说库。当你需要这个对象里面的变量,方法,功能的时候,你就可以使用相关语

    2025年7月11日
    0
  • 23岁的一无所有,其实是理所应当的「建议收藏」

    23岁的一无所有,其实是理所应当的「建议收藏」23岁那年你正处在哪个状态?现在呢? 我,23岁,应届毕业生。生活,工作,爱情都处于人生的低谷,一穷二白,一无所有,一事无成。分享一下成长的建议吧。匿名用户23岁那年…就是去年…… 在22岁的时候我毕业,同时第二年准备考研,结果因为压力太大,期望太高,又失利了,但是我依然满怀信心和憧憬 在我23岁那年四月,当我深爱的女孩(在这之前我追了她四年)说她要去北京时,我在毫无准备的情况下,…

    2022年7月25日
    6
  • 任务调度器有哪些_本地计算机上的task scheduler

    任务调度器有哪些_本地计算机上的task schedulerTaskScheduler可以看做任务调度的客户端,负责任务的提交,并且请求集群管理器对任务调度。TaskScheduler的类UML图如下,针对不同部署方式会有不同的TaskScheduler与SchedulerBackend进行组合。TaskScheduler类负责任务调度资源的分配,SchedulerBackend负责与Driver、Executor通信收集Executor上分配给该应用的资…

    2022年10月11日
    0
  • C语言——经典200道实例【基础例题100道——进阶例题100道】[通俗易懂]

    C语言——经典200道实例【基础例题100道——进阶例题100道】[通俗易懂]目录:===============================基础例题100道===============================1.输出”Hello,World!”2.输出整数3.输出单个字符4.输出浮点数5.输出双精度(double)数6.两个整数相加7.两个浮点数相乘8.字符转ASCII码(1)一次读取长字符,并一个一个显示…

    2022年6月20日
    23
  • pycharm 激活码 2022_通用破解码「建议收藏」

    pycharm 激活码 2022_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    2.0K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号