运行结果:#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
可以计算出每一点行和列的对应关系。