程序源码
#include <graphics.h>
#include <conio.h>
#include<stdio.h>
//中点画圆法
void MidpointCircle(int x0,int y0,int r,int color)
{
int x,y,d;
x=0; y=r; d=1-r;
while(x<y){
// 利用圆的八分对称性画点
putpixel(x0 + x, y0 + y, color);
putpixel(x0 + x, y0 - y, color);
putpixel(x0 - x, y0 + y, color);
putpixel(x0 - x, y0 - y, color);
putpixel(x0 + y, y0 + x, color);
putpixel(x0 + y, y0 - x, color);
putpixel(x0 - y, y0 + x, color);
putpixel(x0 - y, y0 - x, color);
if(d<0)
{
d+=2*x+3;
x++;
}
else
{
d+=2*(x-y)+5;
x++;
y--;
}
}/*while*/
}/*MidpointCircle*/
// 主函数
void main()
{
//请输入圆心坐标和半径
int x,y,r;
printf("请输入圆心坐标和半径:\n");
scanf("%d%d%d",&x,&y,&r);
initgraph(640, 480);
// 测试画圆
MidpointCircle(<span style="font-family:Arial, Helvetica, sans-serif;">x,y</span>,r,RED);
// 按任意键退出
getch();
closegraph();
}