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


相关推荐

  • Scrapy常用命令建议收藏

    scrapy全局命令要想了解在scrapy中由哪些全局命令,可以在不进入scrapy爬虫项目目录的情况下运行scrapy-h(1)fetch命令fetch命令主要用来显示爬虫爬取的过程,如果

    2021年12月19日
    56
  • String头文件_string头文件的作用

    String头文件_string头文件的作用首先说string的头文件1、<string>包装了std的C++头文件2、<string.h>旧的C头文件3、<cstring.h>旧C头文件的std版本,切记,这不是cstring的头文件详见effectivec++的第49条再说cstring的头文件注:VC9编译环境下1、<atlstr.h&g…

    2022年9月13日
    0
  • 如何在linux中安装VMwareTools

    如何在linux中安装VMwareToolsvmwaretools是虚拟机VMwareWorkstation自带的一款工具,它的作用就是使用户可以从物理主机直接往虚拟机里面拖文件。如果不安装它,我们是无法进行虚拟机和物理机之间的文件传输的,当然它的功效不止于此,平时我们操作虚拟机的时候,在物理机和虚拟机之间必须使用CTRL切换,如果安装之后我们就不必使用键盘切换,直接便可退出,使得虚拟机真正成为了电脑的一部分,那么这么神奇的vmware

    2022年5月25日
    38
  • android sdk安装过程,图文详解Android 3.0 SDK安装教程

    android sdk安装过程,图文详解Android 3.0 SDK安装教程【51CTO编者按】我们已经为喜欢Android3.0的朋友提供Android3.0SDK下载,本文我们将向大家介绍Android3.0SDK安装教程,本教程与玩模拟器需要比较好的电脑配置,建议至少要i系列CPU,即使如此还是会经常卡,只建议给那些想尝鲜的和只想玩系统的朋友。一、准备阶段:1.安装JavaJDK2.进入“控制面板”-“系统”-“高级系统设置”在弹出的窗口中,选择“环境…

    2022年7月21日
    13
  • linux命令保存并退出_vim退出命令

    linux命令保存并退出_vim退出命令如何快速保存退出vim在普通模式(进入vim时的模式)下按shift+zz

    2022年8月24日
    7
  • DataList.ItemDataBound 事件

    DataList.ItemDataBound 事件

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