//两个圆; #include<stdio.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 d,c,s; d=sqrt(pow(x1-x2,2)+pow(y1-y2,2)); if(d==2*r){ printf("相切\n"); }else if(d>2*r){ printf("相离\n"); }else if(d==0){ printf("重合\n"); }else{ c=acos(d/2/r); s=c*r*r-d/2*r*sin(c); printf("%.2f\n",2*s); } } return 0; } |
Double click to view unformatted code.