三角函数求面积c语言 c语言用函数求三角形面积

C语言编程题,各大神求助。从键盘输入直角三角形的两条直角边,计算它的周长和面积并输出.

声明两个浮点型变量a、b承载两条直角边的输入值,数据成功输入后调用库三角函数求出斜边,再与a、b相加求得周长;直接用三角形面积公式求得面积。代码如下:

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的水城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

#include "stdio.h"

#include "math.h"//调用库三角函数需包含此文件

int main(int argc,char *argv[]){

double a,b;

printf("Input a  b(R:)...\n");

if(scanf("%lf%lf",a,b)!=2 || a=0 || b=0){//输入两个实数,错误则退出

printf("Input error, exit...\n");

return 0;

}

printf("The perimeter is %g\n",a/sin(atan(a/b))+a+b);//调用sin和atan函数求斜边及周长

printf("The area is %g\n",a*b/2);//直接用三角形面积公式求面积

return 0;

}

运行样例如下:

c语言,输入三角形的两边长和夹角,求第三边和面积,我现在纠结夹角怎么输入呀,求大神解答,加悬赏

就直接输入一个浮点数呗,例如夹角为30,则直接输入30或30.0就是了。程序段可如下

float a, b, C;

scanf("%f%f%f", a, b, C);

但用三角函数时,需将角度转为弧度进行计算,公式为:

弧度 = 圆周率 * 角度 / 180

比如根据公式“S三角形 = a * b * sinC / 2"求面积的程序可如下:

#include stdio.h

#include math.h

void main( )

{

float a, b, C, S;

scanf("%f%f%f", a, b, C);

S = a * b * sin(3.1415926 * C / 180) / 2;

printf("%f\n", S);

}

用三角函数求三角形面积

求三角形面积的公式有很多,都是基本公式S=底×高÷2脱胎而来的。下面是一些常用的公式

1.已知三角形底a,高h,则

2.已知三角形三边a,b,c,则

(海伦公式)Dp=(a+b+c)/2

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)]

3.已知三角形两边a,b,这两边夹角C,则

,即两夹边之积乘夹角正弦值的一半。这是最常用的三角函数公式

4.设三角形三边分别为a、b、c,内切圆半径为r

则三角形面积

5.设三角形三边分别为a、b、c,外接圆半径为R

则三角形面积=abc/4R

S=2R²·sinA·sinB·sinC

6.行列式形式

为三阶行列式,此三角形ABC在平面直角坐标系内A(a,b),B(c,d),C(e,f),,这里ABC选取最好按逆时针顺序从右上角开始取,因为这样取得出的结果一般都为正值,如果不按这个规则取,可能会得到负值,但不要紧,只要取绝对值就可以了,不会影响三角形面积的大小。该公式的证明可以借助“两夹边之积乘夹角的正弦值”的面积公式   。

7.海伦——秦九韶三角形中线面积公式:

S=√[(Ma+Mb+Mc)*(Mb+Mc-Ma)*(Mc+Ma-Mb)*(Ma+Mb-Mc)]/3

其中Ma,Mb,Mc为三角形的中线长.

8.根据三角函数求面积:

S= ½ab sinC=2R² sinAsinBsinC= a²sinBsinC/2sinA

注:其中R为外接圆半径。

9.根据向量求面积:

其中,(x1,y1,z1) 与 (x2,y2,z2) 分别为向量 AB 与 AC 在空间直角坐标系下的坐标表达,即:

向量邻边构成三角形面积等于向量邻边构成平行四边形面积的一半

编写程序,从键盘输入三角形的三边,调用三角形面积函数求出其面积,并输出结果。

(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)特殊情况]

#includestdio.h

#includemath.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,同理,即可得出三角形的面积等于两邻边及其夹角正弦值的乘积的一半。

参考资料来源:百度百科-三角函数公式算面积

c语言 三角形三边求面积

首先,输入三角形的三边长的问题。你没有判定输入的数是否可以构成三角形。

还有就是定义变量应该用浮点型变量,而不是整型变量,毕竟三角形的面积不可能全部是整型吧。

这个是我刚写的,这个也没有判定输入的数是否可以构成三角形。

你自己尝试再看看能否改编成功呢?

#includestdio.h

#includemath.h

void 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);

}


网页标题:三角函数求面积c语言 c语言用函数求三角形面积
URL网址:http://ybzwz.com/article/hijdop.html