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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • J2ME开发视频下载

    J2ME开发视频下载最近在学习J2ME开发方面的内容,下面这些视频下载地址是我通过Orbit下载工具,收集整理出来,已证明可下载。你只须将这些下载地址复制到Orbit或迅雷中,就可以批量下载这些视频教学!http://images.enet.com.cn/eschool/j2me/16-3.swfhttp://images.enet.com.cn/eschool/j2me/24-1.swf…

    2022年7月27日
    2
  • python3两数相加

    python3两数相加

    2021年4月18日
    135
  • STM32——软件SPI控制AD7705[通俗易懂]

    一、AD7705简介AD7705为差分输入的16位ADC,拥有两组差分输入通道。自带可编程增益,增益可在1到128调节。支持SPI接口。AD7705功能框图如图所示:AD7705的主要寄存器有通信寄存器(CommunicationRegister)、时钟寄存器(ClockRegister)、建立寄存器(SetupRegister)和数据寄存器(DataRegister)。在这些寄存器中,只有数据寄存器是16位的。通信寄存器负责寄存器寻址、读写控制…

    2022年4月15日
    142
  • 加密卡华为怎么模拟_华为手机怎么复制加密NFC门卡?「建议收藏」

    加密卡华为怎么模拟_华为手机怎么复制加密NFC门卡?「建议收藏」原标题:华为手机怎么复制加密NFC门卡?“极客谈科技”,全新视角、全新思路,伴您遨游神奇的科技世界。虽然NFC已经成为了中高端手机的标配之一,但是很多人对于什么是NFC,NFC究竟有哪些作用并不是十分清楚。NFC是一种近距离的无线传输技术,可以通过配套芯片来读取相关的数据,从而实现数据交互的目的,通常的应用有地铁、公交刷卡、POS机付款、门禁卡等。今天,我们主要来谈谈华为手机如何通过NFC的功能来…

    2022年6月3日
    80
  • 盘点分布式文件存储系统____分布式文件存储系统简介

    盘点分布式文件存储系统____分布式文件存储系统简介在项目的数据存储中,结构化数据通常采用关系型数据库,非结构化数据(文件)的存储就有很多种方式,服务器本地存储、Nas挂载、ftp等等,今天就来盘点一下,分布式文件存储系统。一、分布式存储简介1、什么是分布式存储在开始介绍分布式存储之前,先了解一下,非分布式的存储方案。在单机时代,将文件直接存储在服务部署的服务器上——直连存储(DAS):存储和数据直连,拓展性、灵活性差。为了扩展,将文件和服务分离,通过网络连接——中心化存储(NAS、SAN):设备类型丰富,通过网络互连,具有一定的拓展.

    2022年6月10日
    73
  • java中instanceof用法

    java中instanceof用法java中的instanceof运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。用法:result=objectinstanceofclass参数:Result:布尔类型。Object:必选项。任意对象表达式。Class:必选项。任意已定义的对象类。说明:如果object是cla

    2022年7月13日
    17

发表回复

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

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