表白程序

本文介绍了一个使用C语言绘制心形图案的程序,通过不同的输入选项,可以生成由love文字、随机字符、随机数字或随机颜色组成的心形。程序运用了Windows API进行颜色设置,实现了动态加载效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

码住码住

#include<stdio.h>  
#include<math.h>  
#include<windows.h>  
#include<time.h>  
#include<stdlib.h>  
#include<conio.h>
void SetColor(unsigned short ForeColor,unsigned short BackGroundColor)  
{  
    HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);  
    SetConsoleTextAttribute(hCon,(ForeColor%16)|(BackGroundColor%16*16));  
}  
int main()  
{  
   
    float x,y;  
    int s=0,n,i,j;  
        for(i = 1;i <= 50;i++)  
    {  
        SetColor(0,14);  
        printf(" ");  
        printf("%d%%",2*i);  
        Sleep(101-2*i);  
        printf("\b\b\b");  
    }  
    SetColor(15,0);  
    printf("\b\n加载完成!即将进入:");  
    Sleep(2000);  
    system("cls");  
    do 
    {  
        system("color 0E");  
        for(i=0;i<=56;i++)  
    {  
        if(i>=20){printf("*");Sleep(10);}  
        else printf(" ");  
    }printf("\n");  
    for(i=0;i<=56;i++)  
    {  
        if(i>=20){printf("*");Sleep(10);}  
        else printf(" ");  
    }  
    printf("\n\t\t\t你想要怎样的心形:\n");  
    printf("\n\t\t\t1:由love组成的心形!\n");  
    printf("\n\t\t\t2:由随机字符组成的心形!\n");  
    printf("\n\t\t\t3:由随机数字组成的心形!\n");  
    printf("\n\t\t\t4:由随机颜色组成的心形!\n");  
    printf("\n\t\t\t5:退出!\n");  
    for(i=0;i<=56;i++)  
    {  
        if(i>=20){printf("*");Sleep(10);}  
        else printf(" ");  
    }printf("\n");  
    for(i=0;i<=56;i++)  
    {  
        if(i>=20){printf("*");Sleep(10);}  
        else printf(" ");  
    }  
    printf("\n\t\t\t");  
   
    srand(time(NULL));  
    scanf("%d",&n);  
    system("cls");  
   
   
   
        switch(n)  
            {  
        case 1:  
    for(x=1.3;x>=-1.1;x-=0.1)  
    {   for(y=-2;y<=1.4;y+=0.053)  
        {  
            if(pow(x*x+y*y-1,3)-x*x*x*y*y<=0)  
            {  
                s++;  
                if(s%4==1)printf("l");  
                if(s%4==2)printf("o");  
                if(s%4==3)printf("v");  
                if(s%4==0)printf("e");  
                Sleep(2);  
            }  
            else 
                printf(" ");  
        }  
    printf("\n");  
    }  
    printf("绘制完成,按任意键返回主页面!");break;  
   
   
   
   
    case 2: for(x=1.3;x>=-1.1;x-=0.1)  
    {   for(y=-2;y<=1.4;y+=0.053)  
        {  
            if(pow(x*x+y*y-1,3)-x*x*x*y*y<=0)  
            {  
                printf("%c",rand()%10+rand()%10+97);  
                Sleep(2);  
            }  
            else 
                printf(" ");  
        }  
    printf("\n");  
    }  
    printf("绘制完成,按任意键返回主页面!");break;  
           
       
       
       
       
       
       
    case 3:for(x=1.3;x>=-1.1;x-=0.1)  
    {   for(y=-2;y<=1.4;y+=0.053)  
        {  
            if(pow(x*x+y*y-1,3)-x*x*x*y*y<=0)  
            {  
                printf("%d",rand()%10);  
                Sleep(2);  
            }  
            else 
                printf(" ");  
        }  
    printf("\n");  
    }  
    printf("绘制完成,按任意键返回主页面!");break;  
           
           
           
           
           
        case 4: for(x=1.3;x>=-1.1;x-=0.1)  
    {   for(y=-2;y<=1.4;y+=0.053)  
        {  
            if(pow(x*x+y*y-1,3)-x*x*x*y*y<=0)  
            {  
                SetColor(0,rand()%6+10);  
                printf(" ");  
                Sleep(2);  
            }  
            else 
            {SetColor(0,0);  
            printf(" ");}  
        }  
    printf("\n");  
    }  
    SetColor(15,0);  
    printf("绘制完成,按任意键返回主页面!");break;  
        default:break;  
        }     
        getch();  
        system("cls");  
    }while(n!=5);  
   
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值