c语言要求输入三角形三条边,输出面积,比如输入345,输出6.0,输入123,输出0.0?

如题所述

#include <stdio.h>

#include <math.h>

void main()

{

float a,b,c,p,s;

printf("请输入三角形三边长:");

scanf("%f%f%f",&a,&b,&c);

p = (a+b+c)/2;

s = sqrt(p*(p-a)*(p-b)*(p-c));

printf("三角形面积为:%.1f\n",s);

}


#include <stdio.h>//添加了判断三边能否构成三角形

#include <math.h>

void main()

{

float a,b,c,p,s;

printf("请输入三角形三边长:");

scanf("%f%f%f",&a,&b,&c);

if(a+b<=c || a+c<=b || b+c<=a)

printf("该三边长无法构成三角形\n");

else

{

p = (a+b+c)/2;

s = sqrt(p*(p-a)*(p-b)*(p-c));

printf("三角形面积为:%.1f\n",s);

}

}

追问

不需要判断三条边是否可以构成三角形吗

追答

你题目也没要求要判断啊,1 2 3 确实不能构成三角形,但是代入海伦公式的结果是0,符合题意,所以直接用了。

追问

好吧

为什么按这个程序输入456结果是错的,就是我用计算器按海伦公式算出来是9.9,用程序算出来只是6.5

温馨提示:答案为网友推荐,仅供参考
相似回答