本文主要研究的是输入三角形边长判断其类型并输出面积,用C语言实现,具体如下。
思路:首先判断所给的三条边是否能够组成三角形,若可以组成三角形,则判断该三角形是什么类型,并求三角形的面积。
<强>相关知识:强>
三角形是由同一平面内不在同一直线上的三条线段的首尾“顺次连接所组成的封闭图形。常见的三角形按边分有普通三角形(三条边都不相等),等腰三角(腰与底不等的等腰三角形,腰与底相等的等腰三角形即等边三角形)
不等边三角形:不等边三角形、数学定义,指的是三条边都不相等的三角形叫不等边三角形。
等腰三角形:等腰三角形(等腰三角形),指两边相等的三角形,相等的两个边称为这个三角形的腰。等腰三角形中,相等的两条边称为这个三角形的腰,另一边叫做底边。两腰的夹角叫做顶角,腰和底边的夹角叫做底角。等腰三角形的两个底角度数相等(简写成”等边对等角”)。等腰三角形的顶角的平分线,底边上的中线,底边上的高重合(简写成”等腰三角形的三线合一性质”)。等腰三角形的两底角的平分线相等(两条腰上的中线相等,两条腰上的高相等)。等腰三角形底边上的垂直平分线到两条腰的距离相等。等腰三角形的一腰上的高与底边的夹角等于顶角的一半。等腰三角形底边上任意一点到两腰距离之和等于一腰上的高(需用等面积法证明)。等腰三角形是轴对称图形,(不是等边三角形的情况下)只有一条对称轴,顶角平分线所在的直线是它的对称轴,等边三角形有三条对称轴。等腰三角形中腰的平方等于高的平方加底的一半的平方。等腰三角形的腰与它的高的关系,直接的关系是:腰大于高。间接的关系是:腰的平方等于高的平方加底的一半的平方。
等边三角形:等边三角形(又称正三角形),为三边相等的三角形,其三个内角相等,均为60°,它是锐角三角形的一种。等边三角形也是最稳定的结构。等边三角形是特殊的等腰三角形,所以等边三角形拥有等腰三角形的一切性质。
直角三角形:有一个角为直角的三角形称为直角三角形。在直角三角形中,直角相邻的两条边称为直角边。直角所对的边称为斜边。若的平方+ b的平方=c的平方,则以a, b, c为边的三角形是以c为斜边的直角三角形(勾股定理的逆定理)。
判断三条线段能否组成三角形的依据是三角形三边关系的定理:“三角形任何两边的和大于第三边”和它的推论:“三角形任何两边的差小于第三边”。
<强>计算面积方式:使用边长进行计算强>
1:计算三角形的半周长。半周长等于图形周长的一半。想算出三角形的半周长,需要先将三角形的三条边长加起来求出周长,然后乘以1/2;
2:用海伦公式求三角形面积。海伦公式如下:
<强>具体实现和分析:强>
通过输入三角形的三条边,首先判断两边之和是否大于第三边,若大于第三边则进一步判断该三角形是什么三角形,3边相等为等边三角形,两边相等为等腰三角形,满足两边平方之和等于第三边的平方即是直角三角形,其余为普通三角形,否则输入的三角形不能够组成三角形。
空白decideTrangleType () { 浮动的a, b, c;//定义a, b, c为三条边 浮动,区域; printf(“请输入三角形的三条边:\ n”); 倒带(stdin);//清空缓存区的所有数据 scanf (“% % f % f和a, b, c); 如果(c + b>,,b + c>,,+ c> b){//判断两边之和是否大于第三边 s=(a + b + c)/2;//计算半周长 面积=?(年代)* (sb) * (s-c));//计算三角形面积 printf("面积是:% f”,区域); 如果(a==b,,一个==c){//判断三条边是否相等 printf("等边三角形\ n”); }else if (b==| |==c | | b==c){//判断是否有两条边相等 printf("等腰三角形\ n”); }else if (b==c * a + b * * c | | a * b + c * c==b * | | * b + c * c==*){//判断是否两边平方之和等于第三边的平方 printf("直角三角形\ n”); 其他}{ printf("普通三角形\ n”); } 其他}{ printf("不能构成三角形\ n”); } }
<强>相关测试数据:强>
你好,世界!
请输入三角形的三条边: