当前位置:首页 >> 数学 >>

计算三角形面积


计算任何三角形面积的程序
这个程序是我花了两天多时间编写的,能够计算 任何一个三角形的面积,并且能够判断不能构成三角 形和操作员操作失误的情况! 下面是程序源代码:

#include <stdio.h> #include <math.h> #define PI 3.14159265358979323846264 double

qiqihaerdaxue() { float a,b,c,area,s; printf("请输入三角形的三条边 a,b,c\n"); scanf("%f%f%f",&a,&b,&c); if(a>0&&b>0&&c>0) { if((a+b)>c&&fabs(a-b)<c) { s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(" 三 角 形 的 面 积 为 area=%f\n",area);

} else printf("a,b,c 不能构成三角形\n"); } else printf("对不起,三角形三边应为正数 \n"); } double jikong () { float a,b,c,s; printf("请按顺序输入三角形两边 a,b 及其 夹角(角度制)θ \n"); scanf("%f%f%f",&a,&b,&c); if(c<0||c>180) printf(" 三 角 形 内 角 必 须 在 θ >0 并 且 θ <180 度之间\n"); else { if(a>0&&b>0) { c=c*PI/180;

s=a*b*sin(c)/2; printf("三角形面积 s=%f\n",s); } printf("三角形边必须为正数\n"); } } double fcj1(double r1,double p1,double k1) { double yx1,cx1,sjxm,a1,m1; yx1=-2*r1*cos(k1);/*r=b p=c k=h*/ cx1=r1*r1-p1*p1; m1=yx1*yx1-4*cx1; if(m1<0.0001) m1=0; a1=(-yx1+sqrt(m1))/2; sjxm=a1*p1/2; printf("三角形面积 s=%f\n",sjxm); } double fcj2(double r2,double p2,double k2) { float yx2,cx2,u1,u2,m2,a21,a22,area1,area2;

yx2=-2*r2*cos(k2);/*r=b p=c k=h*/ cx2=r2*r2-p2*p2; m2=yx2*yx2-4*cx2; a21=(-yx2+sqrt(m2))/2; a22=(-yx2-sqrt(m2))/2; u1=(a21+r2+p2)/2; u2=(a22+r2+p2)/2; area1=sqrt(u1*(u1-a21)*(u1-r2)*(u1-p2)); area2=sqrt(u2*(u2-a22)*(u2-r2)*(u2-p2)); printf(" 三 角 形 面 积 s1=%f\ts2==%f\n",area1,area2); } float fcj3(float r3,float p3,float k3) { float yx3,cx3,u3,m3,a31,area3; yx3=-2*r3*cos(k3);/*r=b p=c k=h*/ cx3=r3*r3-p3*p3; m3=yx3*yx3-4*cx3; a31=(-yx3+sqrt(m3))/2; u3=(a31+r3+p3)/2; area3=sqrt(u3*(u3-a31)*(u3-r3)*(u3-p3));

printf("三角形面积 s=%f\n",area3); } double dianqi() { float a,b,c,h,s,yx,cx,m,kw; printf("请输入角所对的边 c\n"); scanf("%f",&c); printf("请输入另一边 b\n"); scanf("%f",&b); printf("请输入角θ (角度制)\n"); scanf("%f",&h); if(h>0&&h<180) { h=h*PI/180; kw=b*sin(h); if(b>0&&c>0) { if(fabs(c-kw)<0.0001) c=kw; if(c==kw) { fcj1(b,c,h);

} else { if(c<kw) { printf(" 所 给 值 不 能 构 成 三 角 形 \n"); } else { if(c>kw&&c<b) { fcj2(b,c,h); } else { fcj3(b,c,h); } }

} } else printf("三角形边必须为正数\n"); } else printf("三角形内角必须在θ >0 并且θ <180 度之间\n"); } double xueyuan () { float a,h; double s; printf("请依次输入三角形的一条边 a 和此 边上的高 h\n"); scanf("%f%f",&a,&h); if(a>0&&h>0) { s=a*h/2; printf("三角形面积 s=%f\n",s); }

else printf("三角形底和高必须为正数\n"); } gongcheng() { float ah,bh,ch,mh,jk; double s; printf("请入三角形的边 a\n"); scanf("%f",&ah); printf("请输入边所对的角(角度制)α \n"); scanf("%f",&bh); printf("请输入另一个角(角度制)β \n"); scanf("%f",&ch); if(ch+bh>180) { printf("三角形内角和不能大于 180 度 \n"); } else { if(ch<0||bh<0)

{ printf("三角形内角必须大于零\n"); } else { if(ah<0) { printf("三角形边必须为正数\n"); } else { mh=(180-ch-bh)*PI/180; bh=bh*PI/180; ch=ch*PI/180; s=(ah*ah*sin(ch)*sin(mh))/(2*sin(bh)); printf("三角形的面积 s=%f\n",s); } } } }

main() { int g; printf("1. 已知三边求三角形面积请输入 1\n"); printf("2.已知两边及其夹角求三角形面积 请输入 2\n"); printf("3.已知两边及其 1 对角求三角形面 积请输入 3\n"); printf("4.已知底和高求三角形面积请输入 4\n"); printf("5.已知两角和一条边求三角形面积 请输入 5\n"); printf("请选择:"); scanf("%d",&g); switch(g) { case 1: qiqihaerdaxue ();break; case 2:jikong();break; case 3: dianqi ();break; case 4:xueyuan();break; case 5: gongcheng ();break;

default:printf("选择有误:\n"); } } /*下面有我的操作结果及操作时的注 意事项*/


相关文章:
计算三角形面积
计算三角形面积要求: 用户输入三角形的三条边, 利用海伦公式计算三角形面积 A= s(s ? a)(s ? b)(s ? c), 其中 a,b,c 是三角形的三条边,可能...
任意三角形面积公式
三角形三边分别为 a、b、c,外接圆半径为 R S=abc/4R (6).根据三角函数求面积: S= absinC/2 a/sinA=b/sinB=c/sinC=2R 注:其中 R 为外切圆半径...
三角形求面积方法专题
三角形求面积方法专题 2.阅读材料: 如图,过△ ABC 的三个顶点分别作出与水平线垂直的三条直线,外侧两条直线之间的距离叫 △ ABC 的“水平宽”(a) ,中间的...
最全面的三角形面积公式
最全面的三角形面积公式。为了方便大家学习数学,本文介绍了目前最实用的10种各种条件下的三角形面积公式,以飨读者。最全面的三角形面积公式 河北邯郸一提到三角形...
《三角形面积的计算》教学设计
三角形面积计算》教学设计与评析: 教材分析: 三角形面积计算公式推导方法与平行四边形面积计算公式的推导方法有相 似之处,都是将图形转化成已经会计算面积的...
三角形面积计算练习题一
三角形面积计算练习题一_IT认证_资格考试/认证_教育专区。三角形面积计算练习题一 1、 计算下面三角形的面积 4.8 分米 1.2 分米 2、 量出下面图形的数据并...
三角形面积计算练习题
三角形面积计算练习题_数学_小学教育_教育专区。第六讲 1、计算下面三角形的面积 4.8 分米 1.2 分米 三角形面积计算练习题 2、一个三角形底是 10.6 米,高...
三角形面积的计算
三角形面积计算_数学_小学教育_教育专区。滦县教育局课时备课教学设计专用笺(主页)刘庄学校 五年级 班 科目: 数学 设计人: 赵伟 年 领导 签字 月日教学内容 ...
三角形面积的计算
三角形面积计算_农学_农林牧渔_专业资料。三角形面积计算 教学目标 1.理解三角形面积公式的推导过程,正确运用三角形面积计算公式进行计算. 2.培养学生观察能力...
三角形面积的计算
三角形面积计算_农学_农林牧渔_专业资料。合作小学 数学 学科教案第 二 单元 课题 三角形面积计算 教学目标: 1.使学生经历三角形面积公式的推导过程。 2....
更多相关标签: