📄 pku1329.cpp
字号:
#include <stdio.h>
#include <math.h>
double X1, Y1, X2, Y2, X3, Y3;
double Dis(double xx, double yy)
{
return sqrt(xx * xx + yy * yy);
}
void Solve()
{
double a, b, r, d, e, f;
double p1, p2, q1, q2, c1, c2;
p1 = X1 - X2;
q1 = Y1 - Y2;
p2 = X2 - X3;
q2 = Y2 - Y3;
c1 = X1 * X1 + Y1 * Y1 - X2 * X2 - Y2 * Y2;
c1 /= 2;
c2 = X2 * X2 + Y2 * Y2 - X3 * X3 - Y3 * Y3;
c2 /= 2;
a = -(q1 * c2 - q2 * c1) / (q1 * p2 - q2 * p1);
b = -(p2 * c1 - p1 * c2) / (q1 * p2 - q2 * p1);
r = Dis(X1 + a, Y1 + b);
printf("(x %c %.3lf)^2 + (y %c %.3lf)^2 = %.3lf^2\n", a >= 0 ? '+' : '-', fabs(a), b >= 0 ? '+' : '-', fabs(b), r);
d = 2 * a;
e = 2 * b;
f = a * a + b * b - r * r;
printf("x^2 + y^2 %c %.3lfx %c %.3lfy %c %.3lf = 0\n\n", d >= 0 ? '+' : '-', fabs(d), e >= 0 ? '+' : '-', fabs(e), f >= 0 ? '+' : '-', fabs(f));
}
int main()
{
while (6 == scanf("%lf%lf %lf%lf %lf%lf", &X1, &Y1, &X2, &Y2, &X3, &Y3))
{
Solve();
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -