C++ 用'*';C++;

C++ 用'*';C++;,c++,C++,我画了一个圆圈,代码运行得很好,但问题是,即使它正在运行,圆圈也不是完美的,或者尽可能接近 我的代码: #include <iostream> #include <math.h> int main() { int radius = 6; int i,j; for (i=0; i<=2*radius; i++) { for (j=0; j<=2*radius; j++) {

我画了一个圆圈,代码运行得很好,但问题是,即使它正在运行,圆圈也不是完美的,或者尽可能接近

我的代码:

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

int main() 
{
    int radius = 6;
    int i,j;
    for (i=0; i<=2*radius; i++)
    {
        for (j=0; j<=2*radius; j++)
        {
            double distance = sqrt((double)(i-radius)*(i-radius) + (j-radius)*(j-radius));
            if (distance>radius-0.65 && distance<radius+0.2)
            {
                std::cout << "*";
            }
            else
            { 
                std::cout << "  ";
            }
        }
        std::cout << std::endl;
    }
    return 0;
}
std::cout

std::难道我想知道一个不依赖
-0.65
0.2
的算法会是什么样子@Mooningduck看起来像是一个非常好的答案的骨架。它并不完全依赖于那些数字。只是如果我把范围缩小,星号会减少,但范围越大,点的准确度也会降低。@cigien:这并不能回答他的问题。这只是一个完全不相关的算法,所以不是一个好答案的正确方向。事实上,我的算法很容易出现与问题相同的错误。@MooingDuck这是真的。这可能是一个不同的问答,尽管在这个主题上可能有点困难。我想知道一个不依赖
-0.65
0.2
的算法会是什么样子@Mooningduck看起来像是一个非常好的答案的骨架。它并不完全依赖于那些数字。只是如果我把范围缩小,星号会减少,但范围越大,点的准确度也会降低。@cigien:这并不能回答他的问题。这只是一个完全不相关的算法,所以不是一个好答案的正确方向。事实上,我的算法很容易出现与问题相同的错误。@MooingDuck这是真的。这也许应该是一个不同的问答,尽管在这个话题上可能有点困难。
          ***                                                                                                                                
      **      **                                                                                                                             
    *              *                                                                                                                         
  *                  *                                                                                                                       
  *                  *                                                                                                                       
*                      *                                                                                                                     
*                      *                                                                                                                     
*                      *                                                                                                                     
  *                  *                                                                                                                       
  *                  *                                                                                                                       
    *              *                                                                                                                         
      **      **                                                                                                                             
          ***              
//               ^ 
//               Wierd spacing
//               Oval-ish
std::cout << "*";
std::cout << "  ";