#include <stdio.h> #include <math.h> #define PI 3.1415926 int main(void) { double x1,y1,x2,y2,r; while(scanf("%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&r) != EOF) { double x = x1 - x2; double y = y1 - y2; double len = sqrt(x * x + y * y); if(len == 2 * r) { printf("相切\n"); } if(len == 0.0) { printf("重合\n"); } if(len > 2 * r) { printf("相离\n"); } if(len < 2 * r && len) { printf("相交 "); double m = 2 * acos( 0.5 * len / r); double h = sqrt(r * r - len * len / 4.0); double area = (r * r * m - r * r *sin(m)); printf("%.2lf\n",area); } } return 0; } |
Double click to view unformatted code.