N个三角形(顶点为浮点数坐标),已知所有三角形顶点二维坐标,根据三角形面积降序输出。
目前初学c++ 能求出顶点为浮点数坐标的三角形面积
代码如下:
你要先输入一个N值,然后for循环,输入N组三角形顶点坐标,然后将计算得到的三角形面积记录到面积数组中
你计算面积的代码也有问题,要检查s和a,b,c的大小关系,或者说是检查a,b,c能否组成一个三角形?否则sqrt会崩溃掉的
#include<bits/stdc++.h>
using namespace std;
double x1,x2,x3,y11,y2,y3,ans;
double f(double x1,double x2,double y11,double y2){
return sqrt((x2-x1)*(x2-x1)+(y2-y11)*(y2-y11));
}
int main(){
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y11,&x2,&y2,&x3,&y3);
ans=f(x1,x2,y11,y2)+f(x2,x3,y2,y3)+f(x1,x3,y11,y3);
printf("%.2lf",ans);
return 0;
}
看一下这段代码是否可以帮助您,还有,您最好不要定义y1这个变量,在许多IDE和OJ上面会编译错误的