前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言 爱心代码_用c语言编辑一个爱心

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

作者头像
全栈程序员站长
发布2022-11-04 16:11:15
5.1K0
发布2022-11-04 16:11:15
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

自用自改

代码语言:javascript
复制
#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.cn/182527.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档