zoukankan      html  css  js  c++  java
  • 控制台画圆

      书上看到一个画空心圆的题,于是用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;
    }
    

      运行结果:

      更简洁一点的代码:

    #include <iostream>
    #include <math.h>
    
    using namespace std;
    
    class DrawCircle {
    public:
    	void drawCircle(int r) {
    		int x, y;
    		int i;
    		double params_1 = 2.5;
    
    		for (y = 10; y >= -r; y--) {
    			x = (int)sqrt(r * r - y * y);
    			for (i = 0; i < 30 - params_1 * x; i++)
    				cout << ' ';
    			cout << '*';
    			for (; i < 30 + params_1 * x; i++)
    				cout << (i % 2 == 0 ? '*' : i % 3 == 0 ? '$' : '%');
    			cout << '*' << endl;
    		}
    	}
    };
    
    int main()
    {
    	DrawCircle dc;
    	int r = 10;
    
    	dc.drawCircle(r);
    	getchar();
        return 0;
    }
    

      运行截图:

  • 相关阅读:
    grunt in webstorm
    10+ Best Responsive HTML5 AngularJS Templates
    响应式布局
    responsive grid
    responsive layout
    js event bubble and capturing
    Understanding Service Types
    To add private variable to this Javascript literal object
    Centering HTML elements larger than their parents
    java5 新特性
  • 原文地址:https://www.cnblogs.com/darkchii/p/8437002.html
Copyright © 2011-2022 走看看