C语言编程-输出心形图案

目录

方法1:for循环输出图案

方法2:使用心形公式

使用pow()函数修改程序

方法3:使用心形公式


方法1:for循环输出图案

#include<stdio.h> 
#include<stdlib.h>
int main()
{
	int i,j;
	//开头空5行 
	for(i=1;i<=5;i++)
		printf("\n");
	//前三行 
	for(i=1;i<=3;i++)
	{
		for(j=1;j<=17-2*i;j++)
			printf(" ");
		for(j=1;j<=4*i+1 ;j++)
			printf("*");
		for(j=1;j<=13-4*i;j++)
			printf(" ");
		for(j=1;j<=4*i+1 ;j++)
			printf("*");
		printf("\n");	
	}
	//中间3行输出29颗星 
	for(i=1;i<=3;i++)
	{
		for(j=1;j<=10;j++)
			printf(" ");
		for(j=1;j<=29;j++)
			printf("*");
		printf("\n");
	}
	//下7行 倒三角造型 
	for(i=1;i<=7;i++)	
	{
		
		for(j=1;j<=2*i-1+10;j++)
			printf(" ");
		for(j=1;j<=31-4*i;j++)
			printf("*");
		printf("\n");
	}
	//图案最后一行一颗星 
	for(i=1;i<=14+10;i++)
		printf(" ");
	printf("*");
	//下方空5行 
	for(i=1;i<=5;i++)
		printf("\n");
	system("color 0c"); 	         //修改系统色,前景色为c红色,背景色为0黑色。 
	return 0;
}

方法1补充:符号的输出可以用printf()实现也可以用putchar()实现,构成图案的符号可以试着用字符型变量代替,看官可以自行修改。

方法2:使用心形公式

 实现代码

#include<stdio.h>
#include<stdlib.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;			
			if(a*a*a-x*x*y*y*y<=0.0)				
				putchar('*');			
			else				
				putchar(' ');		
		}		
		system("color 0c");		
		putchar('\n'); 
	}
		return 0;
}

使用pow()函数修改程序

#include<stdio.h>
#include<stdlib.h>
#include<math.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)		
		{			
			if(pow((x*x+y*y-1),3)-pow(x,2)*pow(y,3)<=0.0)				
				putchar('*');			
			else				
				putchar(' ');		
		}		
		system("color 0c");		
		putchar('\n'); 
	}
		return 0;
}

效果

 

 

方法3:使用心形公式

 

 实现代码

#include<stdio.h>
#include<stdlib.h>
#include<math.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)		
		{			
			if((pow(x,2)+pow(5.0*y/4.0-sqrt(fabs(x)),2))<=1)								putchar('*');			
			else				
				putchar(' ');		
		}		
		system("color 0c");		
		putchar('\n'); 
	}
		return 0;
}

效果图

 扩展

用 system("color 0A")更改颜色; 其中color后面的0是背景色代号,A是前景色代号。各颜色代码分别是:0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=亮蓝色 A=亮绿色 B=亮湖蓝色 C=亮红色 D=亮紫色 E=亮黄色 F=亮白色

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我会试着用C语言编写一个闪烁的爱心:#include<stdio.h> #include<stdlib.h>int main() { while(1) { printf("\n\t\t\t ♥ ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ ♥ \n"); system("pause"); system("cls"); printf("\n\t\t\t ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ ♥ \n"); printf("\n\t\t\t ♥ ♥ ♥ \n"); system("pause"); system("cls"); } return 0; } ### 回答2: 要写一个C语言实现的闪烁的爱心,可以借助于终端输出来模拟出闪烁的效果。下面是一个简单的实现思路: 1. 首先,我们需要准备好一个爱心的形状字符模板,这个模板可以由多个字符组成,例如: ``` .-"""-. ' ' / \ | | \ / '-...-' ``` 将这个模板以字符串的形式存储起来。 2. 接下来,我们编写代码来实现闪烁的效果。可以通过循环来控制爱心的闪烁次数,每次循环中,先输出爱心字符模板,然后暂停一段时间,再把模板清空,再次暂停一段时间。可以使用`printf`来输出模板,使用`system("cls")`来清空模板。 3. 最后,将循环控制的次数设置为所期望的闪烁次数,即可得到一个闪烁的爱心效果。 下面是示例代码: ```c #include <stdio.h> #include <windows.h> void clearScreen() { system("cls"); } int main() { int blinkTimes = 10; // 闪烁次数 int blinkDuration = 500; // 闪烁间隔(毫秒) char heart[] = ".-\"\"\"-.\ '\ '\ \ \\ | | \\ / '-...-'"; for (int i = 0; i < blinkTimes; i++) { clearScreen(); printf("%s\n", heart); Sleep(blinkDuration); clearScreen(); Sleep(blinkDuration); } return 0; } ``` 以上示例代码使用`system("cls")`来清空屏幕,适用于Windows系统。如果是其他操作系统,可能需要使用不同的方法进行清空屏幕操作。 ### 回答3: 要实现一个闪烁的爱心,可以使用C语言的图形库进行编程。以下是使用C语言中的图形库实现闪烁爱心的一种方法: 首先,我们需要使用图形库中的函数进行图形化绘制。在C语言中,可以使用graphics.h头文件中的函数来创建图形窗口,并使用putpixel函数在图形窗口中设置像素点的颜色。 接下来,我们需要绘制一个爱心的形状。可以使用一系列的直线和弧线来绘制一个心形图案。可以使用线函数line或者arc函数进行绘制。 在绘制完整的爱心形状后,为了实现闪烁效果,我们可以使用循环结构进行控制。在每次循环中,可以通过改变爱心的颜色来实现闪烁效果。可以使用putpixel函数来设置爱心的颜色。可以在两种颜色之间来回切换。 我们可以设置一个变量来作为颜色的标志。在每次循环中,根据颜色的标志来选择不同的颜色,并将标志取反以便下一次循环使用另一种颜色。 最后,为了让闪烁的爱心看起来更加逼真,我们可以使用延时函数来控制每次颜色切换的间隔。可以使用delay函数来实现延时。 总结起来,要实现一个闪烁的爱心,我们需要使用C语言的图形库进行图形绘制,绘制一个爱心形状,并在循环中改变爱心的颜色来实现闪烁效果。通过延时函数控制颜色切换的间隔,使闪烁效果更加逼真。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值