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