www.pudn.com > tuxingxue.rar > TUOYUAN.C


#include 
#include 
void MidpointEllipse(int m,int n,int a,int b,int color); 
main() 
{ 
int driver,mode,x,y,a,b,color; 
driver=DETECT; 
mode=0; 
initgraph(&driver,&mode,""); 
printf("input x,y,a,b,and color\n"); 
scanf("%d%d%d%d%d",&x,&y,&a,&b,&color); 
MidpointEllipse(x,y,a,b,color); 
getch(); 
} 
void MidpointEllipse(m,n,a,b,color) 
{ 
float x,y,d1,d2; 
x=0;y=b; 
d1=b*b+a*a*(-b+0.25); 
putpixel(m+x,n+y,color); 
putpixel(m+x,n-y,color); 
putpixel(m-x,n+y,color); 
putpixel(m-x,n-y,color); 
while(b*b*(x+1)0) 
{ 
if(d2<0) 
{ 
d2+=b*b*(2*x+2)+a*a*(-2*y+3); 
x++; 
y--; 
} 
else 
{ 
d2+=a*a*(-2*y+3); 
y--; 
} 
putpixel(m+x,n+y,color); 
putpixel(m+x,n-y,color); 
putpixel(m-x,n+y,color); 
putpixel(m-x,n-y,color); 
} 
}