码迷,mamicode.com
首页 > 编程语言 > 详细

C/C++ - 控制台画圆

时间:2018-02-10 00:04:13      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:div   pos   info   ++   src   ram   out   ==   --   

  书上看到一个画空心圆的题,于是用C++写了一个实心圆...

#include <iostream>
#include <math.h>

using namespace std;

class DrawCircle {
public:
	void drawCircle(int r) {
		int x, y;
		int params_1 = 2;
		int params_2 = 5;

		for (y = 0; y < r; y++) {
			x = -(int)sqrt(2 * y * r - y * y) + r;
			for (int i = 0; i < params_1*x; i++)
				cout << ‘ ‘;
			cout << ‘*‘;
			for (int i = ((int)sqrt(2 * y * r - y * y) + r - x)*params_1 + params_2; i >= 0; i--)
				cout << (i % 2 == 0 ? ‘*‘ : i % 3 == 0 ? ‘$‘ : ‘%‘);
			cout << ‘*‘ << endl;
		}

		for (; y >= 0; y--) {
			x = -(int)sqrt(2 * y * r - y * y) + r;
			for (int i = 0; i < params_1*x; i++)
				cout << ‘ ‘;
			cout << ‘*‘;
			for (int i = ((int)sqrt(2 * y * r - y * y) + r - x)*params_1 + params_2; i >= 0; i--)
				cout << (i % 2 == 0 ? ‘*‘ : i % 3 == 0 ? ‘$‘ : ‘%‘);
			cout << ‘*‘ << endl;
		}
	}
};

int main()
{
	DrawCircle dc;
	int r = 12;

	dc.drawCircle(r);
	getchar();
    return 0;
}

  运行结果:

技术分享图片

  = =...很菜,只能画这种单调的平面实心圆了,知道圆的方程就行了。

C/C++ - 控制台画圆

标签:div   pos   info   ++   src   ram   out   ==   --   

原文地址:https://www.cnblogs.com/darkchii/p/8437002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!