C++输出爱心形状
时间: 2023-07-11 07:12:01 浏览: 111
基于C++实现的爱心代码.zip
以下是 C++ 实现输出爱心形状的代码:
```
#include <iostream>
#include <cmath>
using namespace std;
int main() {
const double PI = acos(-1.0);
const int r = 10;
for (int y = r; y >= -r; y--) {
for (int x = -r; x <= r; x++) {
double d1 = sqrt((double)x * x + (double)y * y - r * r);
double d2 = sqrt((double)x * x + (double)y * y - r * r / 4.0);
if (d1 + d2 <= r * 1.5) {
cout << "*";
} else {
cout << " ";
}
}
cout << endl;
}
return 0;
}
```
解释:
该程序同样使用了数学中的参数方程来绘制爱心曲线,然后使用了字符图案来表示整个爱心形状。具体实现过程如下:
1. 定义常量 PI 表示圆周率,和半径 r 表示爱心的宽度和高度。
2. 使用两层循环,从上到下、从左到右遍历爱心的所有像素,计算当前像素距离爱心轮廓的距离。
3. 如果当前像素距离爱心轮廓的距离小于等于半径的 1.5 倍,就输出字符 '*',否则就输出空格。
4. 最后输出整个爱心字符图案。
输出结果:
```
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
```
注意,由于字符图案的形状和终端窗口的大小和字体等因素有关,因此实际输出的字符图案可能与上面的结果略有差别。
阅读全文