用C语言打印一个空心圆

版权声明:小简原创 https://blog.csdn.net/qq_43469554/article/details/84850567

算法分析:
利用x ^ 2 + y ^ 2 = R ^ 2可以算出圆上每一点行和列的对应关系。

代码:

#include<stdio.h>
#include<math.h>
int main()
{
	int x, m;
	double y;
	for (y=10; y>=-10; y--)
	{
		m = 2 * sqrt(100 - y*y);/*计算行y对应的列坐标m,2.5是屏幕纵横比调节系数因为屏幕的
行距大于列距,不进行调节显示出来的将是椭圆 */ 
		for (x=0; x<30-m; x++)
		{
			printf(" ");//图形左侧空白
		}
		printf("*");
		for (; x<30+m; x++)
		{
			printf(" ");//图形中间空白 
		}
		printf("*\n");
	}
	return 0;
}

输出示例:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43469554/article/details/84850567