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