版权声明:原创文章,转载请注明出处 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;
}