⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pku1329.cpp

📁 这是ACM 方面的资料 是PKU的 北京大学的出来的
💻 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 + -