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;
    }
    

      运行截图:

  • 相关阅读:
    java基础语法
    java 设计模式
    Mysql或者SQL Server数据库的运行机制和体系架构
    数据库中间件
    Spring的工作原理
    Hibernate和Mybatis的工作原理以及区别
    SpringMVC
    HTML学习笔记(八) Web Worker
    HTML学习笔记(七) Web Storage
    HTML学习笔记(六) 元素拖放
  • 原文地址:https://www.cnblogs.com/darkchii/p/8437002.html
Copyright © 2011-2022 走看看