编写程序,从键盘输入三角形的三边,调用三角形面积函数求出其面积,并输出结果。
(1)S△=1/2ah (a是三角形的底,h是底所对应的高)
(2)S△=1/2acsinB=1/2bcsinA=1/2absinC (三个角为∠A∠B∠C,对边分别为a,b,c,参见三角函数)
(3)S△=√〔p(p-a)(p-b)(p-c)〕 〔p=1/2(a+b+c)〕(海伦—秦九韶公式) (4)S△=abc/(4R) (R是外接圆半径) (5)S△=[(a+b+c)r]/2 (r是内切圆半径)
(4)S△=c^2sinAsinB/2sin(A+B)
(5)S正△= [(√3)/4]a^2 (正三角形面积公式,a是三角形的边长) [海伦公式(3)特殊情况]
#include<stdio.h>
#include<math.h>
int main()
{
double a, b, c, p, s;
printf("请输入三角形的三边长:");
scanf("%lf%lf%lf", &a, &b, &c);
p = (a+b+c)/2;
s = sqrt( p*(p-a)*(p-b)*(p-c));
printf("%.3f\n", s);
return 0;
}
扩展资料:
S=sqrt[p(p-a)(p-b)(p-c)]
=sqrt[(1/16)(a+b+c)(a+b-c)(a+c-b)(b+c-a)]
=1/4sqrt[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]
在△ABC中,其面积就应该是底边与对应的高的乘积的1/2,不妨设BC边对应的高是AD,那么△ABC的面积就是AD*BC*1/2。而AD是垂直于BC的,这样△ADC就是直角三角形了,显然sinC=AD/AC,由此可以得出,AD=ACsinC,同理,即可得出三角形的面积等于两邻边及其夹角正弦值的乘积的一半。
参考资料来源:百度百科-三角函数公式算面积
程序如下:
#include<stdio.h>
#include<math.h>
int main()
{
double a, b, c, p, s;
printf("请输入三角形的三边长:");
scanf("%lf%lf%lf", &a, &b, &c);
p = (a+b+c)/2;
s = sqrt( p*(p-a)*(p-b)*(p-c));
printf("%.3f\n", s);
return 0;
}
扩展资料:
程序的算法是指对某些问题的严格的解释方法,一般的,一个算法拥有以下特点:
有穷性:算法必须保证在执行有限步骤后结束。
可行性:算法是确切可行的,即使在数学中,该算法可行,但若在实际应用中,程序不可以被执行,那么 ,该算法也是不具有可行性的。
确切性:算法的每一个步骤必须具有明确的意义。
输入:一个算法必须要有0个或多个输入。
输出:一个算法必须要有1个或多个输出。