算法笔记课后习题 codeup 6.8 pair的常见用法详解 重心在哪里

版权声明:原创文章,转载请注明出处 https://blog.csdn.net/hza419763578/article/details/88420844

问题 A: 重心在哪里

时间限制: 1 Sec  内存限制: 32 MB
提交: 154  解决: 107
[提交][状态][讨论版][命题人:外部导入]

题目描述

每个人都知道牛顿发现万有引力的故事。自从牛顿发现万有引力后,人们用万有引力理论解决了非常多的问题。不仅如此,我们也知道了每个物体都有自己的重心。
现在,给你三角形三个顶点的坐标,你能计算出三角形的重心吗?

输入

题目包含多组测试数据。第一行输入一个正整数n,表示测试数据的个数,当n=0时,输入结束。
接下来n行,每行包含6个数字x1,y1,x2,y2,x3,y3,表示三角形三个顶点的坐标。

输出

对于每组输入,输出重心的坐标,结果保留1位小数。

样例输入

2
1.0 2.0 3.0 4.0 5.0 2.0
1.0 1.0 4.0 1.0 1.0 5.0
0

样例输出

3.0 2.7
2.0 2.3

重心就是3条(2条)中线的交的,坐标公式Gx=(x1+x2+x3)/3   Gy=(y1+y2+y3)/3

#include<iostream>
#include<cstdio>
#include<utility>
using namespace std;
int main(){
	pair<double,double> p[3];
	int n;
	double x,y;
	while(cin>>n&&n!=0){
		while(n--){
			for(int i=0;i<3;i++){
				cin>>p[i].first>>p[i].second;
			}
			x=(p[0].first+p[1].first+p[2].first)/3.0;
			y=(p[0].second+p[1].second+p[2].second)/3.0;
			printf("%.1f %.1f\n", x,y);
		}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/hza419763578/article/details/88420844
今日推荐