h一直等于零,s也得与零
我感觉这条代码计算不会执行 n == sqrt(pow(z,2)-pow(h,2))+sqrt(pow(c,2)-pow(h,2));
int main() //三角形面积 || 求高法
{
float z,c,n,h,s;
float x1,y1; //坐标1
float x2,y2; //坐标2
float x3,y3; //坐标3
scanf("%f %f %f %f %f %f",&x2,&y2,&x1,&y1,&x3,&y3);
z = sqrt(pow((x2-x1),2)+pow((y2-y1),2)); //第一边
c = sqrt(pow((x3-x2),2)+pow((y3-y2),2)); //第二边
n = sqrt(pow((x1-x3),2)+pow((y1-y3),2)); //第三边
if(z+c>n) //判断条件为两边之和大于第三边
{
n == sqrt(pow(z,2)-pow(h,2))+sqrt(pow(c,2)-pow(h,2)); /*勾股定理:最短两条边减去高相加的和,
等于第三边 h:高*/
printf("高为:%g",h); // 求高
printf("面积为:%.2f",h*n/2); //底为最长边
}
else if(z+n>c)
{
c == sqrt(pow(z,2)-pow(h,2))+sqrt(pow(n,2)-pow(h,2));
printf("%g",h);
printf("面积为:%.2f",h*c/2);
}
else if(c+n>z)
{
z == sqrt(pow(c,2)-pow(h,2))+sqrt(pow(n,2)-pow(h,2));
printf("%g",h);
printf("面积为:%.2f",h*z/2);
}
return 0;
}