#include<stdio.h> #include<math.h> int main() { int i,j,k,x1,x2,y1,y2; double r,d,angl; while(scanf("%d %d %d %d %lf",&x1,&y1,&x2,&y2,&r)!=EOF) { d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); if(d==0) printf("重合\n"); else if(d==2*r) printf("相切\n"); else if(d>2*r) printf("相离\n"); else { angl=1/2.0*(d*d+r*r-r*r)/d/r; double area=2*r*r*acos(angl)-sin(acos(angl))*r*d; printf("%.2lf\n",area); } } } |
Double click to view unformatted code.