#include <stdio.h>
#include <math.h>
int main()
{
double y,m;
int x;
for (y = 10; y >= -10;y--)
//圆的半径为10
{
m = 2.5*sqrt(100 - y*y);
//计算行y对应的列坐标m,2.5为屏幕纵横比调节系数,
//屏幕的行距大于列距,不调节会是椭圆

for (x = 1; x < 30 - m;x++)
{
printf(" ");
//图形左侧空白控制
}
printf("*");
//圆的左侧
for (; x < 30 + m;x++)
{
printf(" ");
}
printf(" * \n");
//圆的右侧
}
system("pause");
return 0;
}

运行结果:   分析:利用图形的左右对称性。根据圆的方程                                                          R*R=X*X+Y*Y 可以计算出每一点行和列的对应关系。

更多推荐

C语言编写代码绘制圆