#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 l = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2)); if (x1 == x2 && y1 == y2) printf("重合\n"); else if (l==2*r) { printf("相切\n"); } else if (l>2*r) { printf("相离\n"); } else { printf("相交\n"); double z = acos((l*l) / (2 * r*l)); double s = z * r*r; double m = r * r*sin(z)*cos(z); double a = 2 * s - 2 * m; printf("%.2lf", a); } } return 0; } |
Double click to view unformatted code.