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