你的圈子功能应该是这样的:你的函数的肉和土豆是sqrt((j-(k)/2)*(j-(k)/2) + (i-(k)/2)*(i-(k)/2))<=radius
。如果你已经学过高等数学,那么该公式应该看起来很熟悉。 k是表面,可以调整。
它基本上列出了您的50x50表面积(或任何k是)。 x,y是沿着飞机的不同点。
(X-中心)^ 2 +(Y-中心)^ 2 = <半径
void Circle(int radius) {
int i,j;
int k = 50;
for (i=0; i<k; i++) {
for (j=0; j<k; j++) {
if(sqrt((j-(k)/2)*(j-(k)/2) + (i-(k)/2)*(i-(k)/2))<=radius)
printf("*"); //meets criteria print *
else
printf(" "); //blank space
}
printf("\n");
}
}
随着20半径:
*
*************
*****************
*********************
*************************
***************************
*****************************
*******************************
*********************************
*********************************
***********************************
***********************************
*************************************
*************************************
***************************************
***************************************
***************************************
***************************************
***************************************
***************************************
*****************************************
***************************************
***************************************
***************************************
***************************************
***************************************
***************************************
*************************************
*************************************
***********************************
***********************************
*********************************
*********************************
*******************************
*****************************
***************************
*************************
*********************
*****************
*************
*
,如果你不希望使用MATH.H可以定义定制的sqrt:
double sqrt(float number)
{
double precision = 0.001;
double s = number;
while ((s - number/s) > precision) {
s = (s + number/s)/2;
}
return s;
}
R^2 =(X - x_bias)^ 2 +(Y - y_bias)^ 2 ==> Y = y_bias±√(R^2-(X - x_bias)^ 2) – BLUEPIXY
这已经是b作为一个重复关闭两次(http://stackoverflow.com/questions/42612311/how-can-i-shift-right-my-equilateral-quadrangle-on-terminal-with-ci-am-beginne)两次使这个一式三份。我们可以摆脱这个职位(和dups)吗? – KevinDTimm