这软件只有几M
开始之前,先讲个故事LL ago,fa国有个大数学家笛卡尔。他与公主相爱,可是公主的父母坚决反对。伤心的他写了很多封信给公主,却无一例外全被截胡。为了在临死之前跟无法见面的公主表白,笛卡尔眉头一皱计上心来,写下了流芳千古的心形公式:
利用这个极坐标公式,可以轻松画出心形线:
懒得画了,从网上扒了张图
极坐标的图比较胖,写出直角坐标形式如下:
画出的图要跟匀称一些:
好了,数学课结束,C++开搞!#includeusing namespace std;int main() { float z; for (float y = 1.5; y>-1.5; y = y - 0.1){ for (float x = -1.5; x 1.5; x = x + z = x * x + y * y - 1; if (z * z * z - x * x * y * y * y 0) else cout<<' '; } cout<<endl; } return 0;}
右滑查看全部代码
程序其实就是一个二重for循环,里面一个if判断,将处于曲线内部的位置都填上字符 * ,相信大家都能看懂。它的输出长这样:
这行小字有点烦
底部的小字有点影响美观,但程序一结束,就会出现。那能不能让程序不结束呢?当然可以,一个简单却有效的方法是,在后面再写个输入语句,只要你不输入,这个程序就结束不了...
于是,在return 0前面加上这行神秘代码就ok了
cin >> z;
输出如下:
嗯,有点内味儿了
但作为钢铁直男,输出太快了,女神肯定不喜欢
所以,可以用Sleep函数让程序运行的慢一些(休眠),加个Sleep(100),让图案逐行输出
当然,这看着还是low,所谓”爱要双倍,double~”,来个爱的嵌套:
大心套小心,你是我的心
其实就是打印多个大小不同的心形,控制部分区域为空即可。上代码:
#include#includeusing namespace std;int main() { float a,b,c,d,e,f; for (float y = 1.5; y > -1.5; y -= 0.1){ for (float x = -1.5; x < 1.5; x += 0.05){ a = x * x + y * y - 1; b = a * a * a - x * x * y * y * y; if(b< 0){ c = x * x + y * y - 0.6; d = c * c * c - x * x * y * y * y; if(d<0){ e = x * x + y * y - 0.3; f = e * e * e - x * x * y * y * y; if(f<0) cout<<'*'; else cout<<' '; } else cout<<'*'; } else cout<<' '; } Sleep(100); cout<<endl; } cin>>a; return 0;}
右滑查看全部代码
当然,生活总得带点绿,来个迪斯科风格的:
制作gif的软件,氪金才能去水印,坑爹
激动的心,颤抖的手,加个文字试一试:
这颗心,谁不爱?
点赞+分享+关注,三连者将在五一劳动节期间脱单!往期文章:2019年offer待遇信息汇总——互联网篇2019年offer待遇信息汇总——研究所篇
我的互联网转行之路
昨天的乡村教育
欢迎关注:听涛记
部分代码参考CSDN,知乎等论坛,特此说明