画一个半径为r的圈

C语言画一个半径为r的圈

直接上代码

#include
#include

int InTheCircle(int x, int y, int r)

{
	/*将(x,y)转换为相当圆心(r,r)的坐标*/
	int rx = x - r;
	int ry = y - r;
	double d = sqrt(rx*rx + ry * ry) - r;/*计算到圆心的距离*/

	if (fabs(d) < 0.2)/*判断到圆心的距离是否为r(允许0.2的误差,看着更像)*/
		return 1;
	else
		return 0;
	return (int)d;
}

void Print(int r)

{
	int x, y;

	for (y = 0; y < 2 * (r + 1); y++)
	{
		for (x = 0; x < 2 * (r + 1); x++)
		{
			if (InTheCircle(x, y, r))/*如果这个点在圆上,打印'*',否则,打印' '*/
				printf("*");/*因为字符高比宽大,所以加一个空格调整外观*/
			else
				printf("  ");
		}

		printf("\n");
	}
}

int main() {
	int r;
	printf("输入圆半径\nr=");
	scanf("%d", &r);
	Print(r);
	
	return 0;

}

画一个半径为r的圈_第1张图片

你可能感兴趣的:(C语言)