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

📄 3371759_ac_0ms_316k.cc

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CC
字号:
#include <stdio.h>
#include <math.h>

int main()
{
	double ax, ay, bx, by, cx, cy;
	double a1, a2, b1, b2, c1, c2;
	double dx, dy, ex, ey, x, y, r;
	double Ax, Ay, Ar;

	while (scanf("%lf%lf%lf%lf%lf%lf", &ax, &ay, &bx, &by, &cx, &cy) == 6)
	{
		dx = (ax + cx) / 2.0; dy = (ay + cy) / 2.0;
		ex = (bx + cx) / 2.0; ey = (by + cy) / 2.0;
		a1 = cx - ax; b1 = cy - ay; c1 = dx * a1 + dy * b1;
		a2 = cx - bx; b2 = cy - by; c2 = ex * a2 + ey * b2;
		x = (c1 * b2 - c2 * b1) / (a1 * b2 - a2 * b1);
		y = (c1 * a2 - c2 * a1) / (b1 * a2 - b2 * a1);
		r = hypot(x - ax, y - ay);
		Ax = x * 2.0;
		Ay = y * 2.0;
		Ar = x * x + y * y - r * r;
		printf("(x ");
		x > 0 ? printf("-") : (printf("+"), x *= -1.0);
		printf(" %.3lf)^2 + (y ", x);
		y > 0 ? printf("-") : (printf("+"), y *= -1.0);
		printf(" %.3lf)^2 = %.3lf^2\n", y, r);
		printf("x^2 + y^2 ");
		Ax > 0 ? printf("-") : (printf("+"), Ax *= -1.0);
		printf(" %.3lfx ", Ax);
		Ay > 0 ? printf("-") : (printf("+"), Ay *= -1.0);
		printf(" %.3lfy ", Ay);
		Ar > 0 ? printf("+") : (printf("-"), Ar *= -1.0);
		printf(" %.3lf = 0\n\n", Ar);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -