还有这一个的正确答案得是啥

三棱体的表面积

定义结构体表示空间中的一个点,给出四个点的坐标,输出四个点所构成的三棱体的表面积,如果四个点在一个平面上,输出0。

输入有四行,每一行表示一个点的x、y、z坐标。输出0或者表面积(小数点后保留两个有效数字)

样例输入#1

0 0 0

0 0 1

0 1 0

1 0 0

样例输出#1

2.37

样例输入#2

1 0 0

1 1 0

1 1 1

1 0 1

样例输出#2

0

第一个样例的结果

img


第二个样例的结果

img

两个样例都无法构成三棱体
所以,第二个是正确的。

# include <stdio.h>
# include <math.h>
int main(void)
{
    float a, b, c, s, area,sum=0;
    for (int i = 0; i < 4; i++)
    {
        printf("请输入三个边长(以Enter键结束每次输入):\n");
        scanf("%f%f%f", &a, &b, &c);  //变量输入                          
        s = 1.0 / 2 * (a + b + c);  //计算s
        area= sqrt(s * (s - a) * (s - b) * (s - c)); //计算面积
        sum = sum + area;
        printf("a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n", a, b, c, s);
        printf("area=%7.2f\n", area); //显示结果
    }
    printf("sum=%7.2f\n", sum); //显示结果
    return 0;
}