C语言设计,三角形的面积公式!

输入三角形的边长,求三角形的面积。main()
{
float a,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);
printf("area=%7.2f\n",area);
}不要求结果,就是想知道每一句的意思,还有三角形的面积公式是如何得到的,越详细越好,谢谢!

main()
{
float a,b,c,s,area; //定义浮点型小数a,b,c,s,area
scanf("%f,%f,%f",&a,&b,&c); //从键盘接收3个数分别赋给a,b,c(这个就是让输入三边长)
s=1.0/2*(a+b+c); //s=(a+b+c)/2(运算优先级先括号然后再从左到右运算)
area=sqrt(s*(s-a)*(s-b)*(s-c)); //area=√[s(s-a)(s-b)(s-c)](三角形面积公式,sqrt()就是√)
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s); //输出a,b,c,s(%7.2f是总共7位小数点后占2位)
printf("area=%7.2f\n",area); //输出面积area
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-05
c语言我们没学过,不会,不过三角形面积的证明我倒是会。
这是海伦定理。
设三角形的三边a、b、c的对角分别为A、B、C,则余弦定理为  cosC = (a^2+b^2-c^2)/2ab  S=1/2*ab*sinC  =1/2*ab*√(1-cos^2 C)  =1/2*ab*√[1-(a^2+b^2-c^2)^2/4a^2*b^2]  =1/4*√[4a^2*b^2-(a^2+b^2-c^2)^2]  =1/4*√[(2ab+a^2+b^2-c^2)(2ab-a^2-b^2+c^2)]  =1/4*√[(a+b)^2-c^2][c^2-(a-b)^2]  =1/4*√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)]  设p=(a+b+c)/2  则p=(a+b+c)/2, p-a=(-a+b+c)/2, p-b=(a-b+c)/2,p-c=(a+b-c)/2,  上式=√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)/16]  =√[p(p-a)(p-b)(p-c)]  所以,三角形ABC面积S=√[p(p-a)(p-b)(p-c)]
第2个回答  2013-12-05
里面应用到了面积海伦公式:假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:
p=(a+b+c)/2   S=√[p(p-a)(p-b)(p-c)]
相似回答