用C语言画个心,送给520的她/他/它。(各位码农们,节日快乐!)

  天天写代码,写程序的码农,是否真的不浪漫,哈哈。是真的!!!!

  今天忙里偷闲,写一段代码,输出一个心形。

  【要求】

  1.使用C语言实现。

  2.不能存使用printf实现,哈哈。

  3.必须使用for循环。

 

  【参考】

  https://jingyan.baidu.com/article/3c48dd345ada56e10be358f1.html

 

  【代码】

#include <stdio.h>
#include <math.h>

#define DEFINE_R		(20U)				/* 可以定制大小哦 */
#define SQUARE(a)		(a * a)

int main(int argc,char* argv[])
{
	int r = DEFINE_R;
	double x,y;

	for(y = r;y >= 0;y = y - 2){			/* 上面两个半圆的循环。 */
/* 为什么Y轴要减2,因为字符的换行后有行间距,如果不减2,这个心就很长,不够圆润。 */
		for(int i = 0;i < 2;i++){
/* 循环两次,画出两个半圆。 */
			for(x = r; fabs(x) <= r;x--){
				if((SQUARE(x) + SQUARE(y)) > SQUARE(r)){
					printf(" ");
				}else{
					printf("♥");
				}
			}
		}
		printf("\n");
	}
	
	for(y = 0;y <= 3*r;y = y + 2){			/* 下面部分,左边扇形。 */
/* 为什么Y轴要减2,因为字符的换行后有行间距,如果不减2,这个心就很长,不够圆润。 */
		for(x = 3*r;fabs(x) >= r;x--){
			if((SQUARE(x) + SQUARE(y)) > SQUARE(3 * r)){
				printf(" ");
			}else{
				printf("♥");
			}
			
		}
		
		for(x = 0 - r;fabs(x) <= 3 * r;x--){	/* 下面部分,右边扇形。 */
			if((SQUARE(x) + SQUARE(y)) > SQUARE(3 * r)){
				printf(" ");
			}else{
				printf("♥");
			}
		}
		printf("\n");
	}
	
	return 0;
}

 

  【编译命令】

  gcc heart.c -lm  

  【输出结果】

 

是不是有心动的感觉啊!!要点赞!!

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值