创建一个心形图案需要的最长字符串,充分利用printf函数输出字符串的丰富控制功能,按心形图案每行所需长度和位置,对所创建的字符串进行截断并在所需位置上输出,最后在屏幕上形成由字符组成的心形图案。
专注于为中小企业提供网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业岳麓免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
char a[]="I love you I love you I love you I l";
printf("\n\n\n");
printf("%*.*s\n",58,21,"_*=_ _=*_");
printf("%*.*s\n",61,25,"I love yo u I love!");
printf("%*.*s\n",63,29,"I love you I l ove you I love");
printf("%*.*s\n",65,33,a);//在屏幕第65个字符处开始输出字符串a的前33个字符,其他各句意义相同
printf("%*.*s\n",66,35,a);
printf("%*.*s\n",66,35,a);
printf("%*.*s\n",65,33,a);
printf("%*.*s\n",64,31,a);
printf("%*.*s\n",63,29,a);
printf("%*.*s\n",61,25,a);
printf("%*.*s\n",59,21,a);
printf("%*.*s\n",57,17,a);
printf("%*.*s\n",55,13,a);
printf("%*.*s\n",53,9,a);
printf("%*.*s\n",51,5,a);
printf("%*.*s\n",50,3,a);
printf("%*.*s\n",49,1,a);
return 0;
}
原始的心形线的极坐标方程为:r=a(1-cosθ),有多种变化的情形,如:
看起来心形效果更好的一种方式用直角坐标表示是:
程序的截图看不清具体细节,估计是按照这个公式做的计算:
对给定的一组(x,y)做循环,按如上公式计算:
a = x*x + y*y -1;
f = a*a*a - x*x*y*y*y;
如果f0,代表(x,y)在心形内,显示一个标记;
如果f0,代表(x,y)在心形外,显示空白,或者不显示。
最简单的就是你用printf来实现
或者你要用函数来画心就很麻烦了
比如
#includestdio.h
void main()
{
printf("* *");
printf("* *");
printf("* *");
printf("* *");
printf("* *");
printf("* *");
}
就这种样子,自己布局吧,如果想用画图函数,要么在tc环境下,要么在vc下获取控制台句柄,调用api,然后写一个画心形的函数