C语言 爱心代码_用c语言编辑一个爱心

C语言 爱心代码_用c语言编辑一个爱心需要的自取,看明白了就可以自己修改爱心的大小#include<stdio.h>intmain(){intn,k,m,p,q;for(n=1;n<=2;n++){for(k=1;k<=15-n;k++)printf(“”);for(m=1;m<=2*n;m++)printf(“*”);for(p=1;p<=5-2*

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

Jetbrains全系列IDE稳定放心使用

自用自改

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

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

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


相关推荐

  • lamda表达式和三个例子

    lamda表达式和三个例子(参数)->{方法语句}这样的形式就是lamda表达式,不用定义参数和返回值的数据类型-可以省略的情况:只有一个参数的时候参数可以不用括号;只有一个语句的时候大括号可以不用;只有一个语句且是return的时候可以省略return,直接写需要返回的值(表达式)目录1、for循环实例2、多线程实例3、sort排序实例1、for循环实例这个实例展示了传入一个参数且无返回值的用法定义一个字符串数组并实例化,对这个数组进行操作。通常的打印所有元..

    2022年5月10日
    48
  • JAVA string转map_java怎么转业务

    JAVA string转map_java怎么转业务String转Mapstring转map的时候,很多新人可能不会去判断string的内容是什么格式的,因为map是key-value格式的,但是string就是一个字符串,想想,这个应该不能转吧,我就遇到过,想想就觉得自己傻傻的,哈哈哈。看代码 Stringcontent=””;HashMap<String,Object>map=newHashMap<>();try{map=JS

    2025年10月24日
    4
  • nginx 负载均衡时,一台tomcat宕机时的问题 可以做到自动切换「建议收藏」

    nginx 负载均衡时,一台tomcat宕机时的问题 可以做到自动切换「建议收藏」如果Nginx没有仅仅只能代理一台服务器的话,那它也不可能像今天这么火,Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用。具体配置过程如下:1.在http节点下,添加upstream节点。upstreamlinuxidc{server10.0.6.108:7080;server10.0.0.85:8980;}2.将server节…

    2022年7月23日
    13
  • 会话Cookie中的IDOR导致批量帐户泄露

    会话Cookie中的IDOR导致批量帐户泄露如果你熟悉IDOR是什么,你将知道它可以在url,请求正文,GET或POST请求等任何地方,也可以在cookie中。当我注意到Cookie中有一个被称为shoppingID会话Cookie的事件时,In试图重现CSRF问题。在仔细查看了cookie的价值之后,我意识到一些很快引起我注意的事情:shoppingID=88ea39539e74fa67c09a4fc0bc8ebe6d00978392PEr9ySESSIONID3552522PXGLkC;你注意到了吗?如果没有,请不要再继续查看。如果你

    2022年5月1日
    41
  • insmod失败_ins玩不了

    insmod失败_ins玩不了cmemk:versionmagic’2.6.32mod_unloadmodversionsARMv7’shouldbe’2.6.32preemptmod_unloadmodversionsARMv7’如上所示,是配置没有匹配.比如上面这个要配置为preempt,抢占式的.特此记录下.

    2025年5月26日
    8
  • zigbee学习之路(十二):zigbee协议原理介绍

    zigbee学习之路(十二):zigbee协议原理介绍一.前言从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack是TIZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T

    2022年8月2日
    14

发表回复

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

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