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

计算三角形面积


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

#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"); } } /*下面有我的操作结果及操作时的注 意事项*/


相关文章:
小学 五年级 数学三角形的面积 练习题(含答案)
二、判断题 1、 两个面积相等的三角形可以拼成平行四边形行( ×) 2、 等底...(2)要计算三角形面积,必须要知道它的( A ) A、底和高 B、底的面积 C...
《三角形的面积计算公式》教学设计
三角形面积计算公式》教学设计_五年级数学_数学_小学教育_教育专区。《三角形面积》 王雪教学目标 1、使学生在理解的基础上掌握三角形面积计算公式,能够...
五年级上册三角形面积的讲义
10、一个三角形的底扩大 2 倍,高不变,这个三角形的面积扩大( )倍 11、在推导平行四边形面积计算公式时,可把平行四边形通过割补平移转化为( )形去推导,推 ...
三角形面积计算练习题一
三角形面积计算练习题一_IT认证_资格考试/认证_教育专区。三角形面积计算练习题一 1、 计算下面三角形的面积 4.8 分米 1.2 分米 2、 量出下面图形的数据并...
三角形的面积计算教学设计及设计意图
三角形面积计算”教学设计及设计意图小学数学 05 教学内容: 苏教版《义务教育课程标准实验教科书数学五年级(上册)》第 15-16 页。 教材简析: 三角形面积...
优质课《三角形的面积计算》
驻马店市驿城区基础教研室 优质课上报材料 上报级别(市 、区) 学科: 小学数学 课题: 《三角形面积计算》教学设计 单位: 驻马店市第一小学 姓名: 王东旭 ...
最全面的三角形面积公式
最全面的三角形面积公式。为了方便大家学习数学,本文介绍了目前最实用的10种各种条件下的三角形面积公式,以飨读者。最全面的三角形面积公式 河北邯郸一提到三角形...
二次函数与三角形的面积问题
外侧两条直线之间的距离叫△ABC 的“水平宽”(a),中间的这条直线在△ABC 内部线段的 长度叫△ABC 的“铅垂高(h)”.我们可得出一种计算三角形面积的新方法:...
五年级数学上册_三角形的面积练习题
1.两个完全一样的三角形,可以拼成一个( A.长方形 B.正方形 C.梯形 2.要计算三角形面积,必须要知道它的( A.底和高 B.底的面积 C.高和面积 3.一个...
三角形的面积计算公式
三角形面积计算公式: 1.已知三角形底 a,高 h,则 S=ah/2 2.已知三角形三边 a,b,c,则 (海伦公式)(p=(a+b+c)/2) S=√[p(p-a)(p-b)(p-...
更多相关标签: