C语言输入三角形边长判断其类型并输出面积实例代码

 更新时间:2018年01月17日 11:38:53   作者:Longshihua  
这篇文章主要介绍了C语言输入三角形边长判断其类型并输出面积实例代码,具有一定借鉴价值,需要的朋友可以参考下

本文主要研究的是输入三角形边长判断其类型并输出面积,用C语言实现,具体如下。

思路:首先判断所给的三条边是否能够组成三角形,若可以组成三角形,则判断该三角形是什么类型,并求三角形的面积。

相关知识:

三角形是由同一平面内不在同一直线上的三条线段‘首尾'顺次连接所组成的封闭图形。常见的三角形按边分有普通三角形(三条边都不相等),等腰三角(腰与底不等的等腰三角形、腰与底相等的等腰三角形即等边三角形)

不等边三角形:不等边三角形,数学定义,指的是三条边都不相等的三角形叫不等边三角形。

等腰三角形:等腰三角形(isosceles triangle),指两边相等的三角形,相等的两个边称为这个三角形的腰。等腰三角形中,相等的两条边称为这个三角形的腰,另一边叫做底边。两腰的夹角叫做顶角,腰和底边的夹角叫做底角。等腰三角形的两个底角度数相等(简写成“等边对等角”)。等腰三角形的顶角的平分线,底边上的中线,底边上的高重合(简写成“等腰三角形的三线合一性质”)。等腰三角形的两底角的平分线相等(两条腰上的中线相等,两条腰上的高相等)。等腰三角形底边上的垂直平分线到两条腰的距离相等。等腰三角形的一腰上的高与底边的夹角等于顶角的一半。等腰三角形底边上任意一点到两腰距离之和等于一腰上的高(需用等面积法证明)。等腰三角形是轴对称图形,(不是等边三角形的情况下)只有一条对称轴,顶角平分线所在的直线是它的对称轴,等边三角形有三条对称轴。等腰三角形中腰的平方等于高的平方加底的一半的平方。等腰三角形的腰与它的高的关系,直接的关系是:腰大于高。间接的关系是:腰的平方等于高的平方加底的一半的平方。

等边三角形:等边三角形(又称正三角形),为三边相等的三角形,其三个内角相等,均为60°,它是锐角三角形的一种。等边三角形也是最稳定的结构。等边三角形是特殊的等腰三角形,所以等边三角形拥有等腰三角形的一切性质。

直角三角形:有一个角为直角的三角形称为直角三角形。在直角三角形中,直角相邻的两条边称为直角边。直角所对的边称为斜边。若a的平方+b的平方=c的平方,则以a、b、c为边的三角形是以c为斜边的直角三角形(勾股定理的逆定理)。

判断三条线段能否组成三角形的依据是三角形三边关系的定理:“三角形任何两边的和大于第三边”和它的推论:“三角形任何两边的差小于第三边”。

计算面积方式:使用边长进行计算

1:计算三角形的半周长。半周长等于图形周长的一半。想算出三角形的半周长,需要先将三角形的三条边长加起来求出周长,然后乘以1/2;

2:用海伦公式求三角形面积。海伦公式如下:

具体实现和分析:

通过输入三角形的三条边,首先判断两边之和是否大于第三边,若大于第三边则进一步判断该三角形是什么三角形,3边相等为等边三角形,两边相等为等腰三角形,满足两边平方之和等于第三边的平方即是直角三角形,其余为普通三角形,否则输入的三角形不能够组成三角形。

void decideTrangleType(){ 
 
  float a,b,c; //定义 a,b,c为三条边 
  float s,area; 
   
  printf("请输入三角形的三条边:\n"); 
  rewind(stdin);//清空缓存区的所有数据 
  scanf("%f%f%f",&a,&b,&c); 
   
  if (a+b>c && b+c>a && a+c>b) {     //判断两边之和是否大于第三边 
    s = (a+b+c)/2;           //计算半周长 
    area = sqrt(s*(s-a)*(s-b)*(s-c)); //计算三角形面积 
    printf("面积是:%f",area); 
    if (a==b && a==c) {         //判断三条边是否相等 
      printf("等边三角形\n"); 
    }else if (a==b || a==c || b==c){  //判断是否有两条边相等 
      printf("等腰三角形\n"); 
    }else if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a){ //判断是否两边平方之和等于第三边的平方 
      printf("直角三角形\n"); 
    }else{ 
      printf("普通三角形\n"); 
    } 
  }else{ 
    printf("不能构成三角形\n"); 
  } 
} 

相关测试数据:

Hello, World!
请输入三角形的三条边:
3 45
面积是:6.000000直角三角形

3 33
面积是:3.897114等边三角形

3 43
面积是:4.472136等腰三角形

3 610
不能构成三角形

7 8 9
面积是:26.832815普通三角形

总结

以上就是本文关于C语言输入三角形边长判断其类型并输出面积实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • C++求1到n中1出现的次数以及数的二进制表示中1的个数

    C++求1到n中1出现的次数以及数的二进制表示中1的个数

    这篇文章主要介绍了C++求1到n中1出现的次数以及数的二进制表示中1的个数,两道基础的算法题目,文中也给出了解题思路,需要的朋友可以参考下
    2016-02-02
  • c语言链表操作示例分享

    c语言链表操作示例分享

    这篇文章主要介绍了c语言链表操作示例,代码中有注释,需要的朋友可以参考下
    2014-03-03
  • C语言实现简单回声服务器

    C语言实现简单回声服务器

    这篇文章主要为大家详细介绍了C语言实现简单回声服务器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • c++中虚函数的实现详解

    c++中虚函数的实现详解

    众所周知探索c++对象内部的实现是一件非常有趣的事情,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?下面这篇文章就来给大家实际检验一下 Visual Studio 2013 编译器在无优化条件下,虚函数的实现。有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • Qt5实现文本编辑器(附详细代码)

    Qt5实现文本编辑器(附详细代码)

    QT是一个跨平台的GUI开发框架,我使用的QT5 C++版本的,本文主要介绍了Qt5实现文本编辑器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 详解C语言编程中的函数指针以及函数回调

    详解C语言编程中的函数指针以及函数回调

    这篇文章主要介绍了C语言编程中的函数指针以及函数回调,函数回调实际上就是让函数指针作函数参数、调用时传入函数地址,需要的朋友可以参考下
    2016-04-04
  • C语言多功能动态通讯录实现示例

    C语言多功能动态通讯录实现示例

    这篇文章主要为大家介绍了C语言多功能动态通讯录实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • C++采用ring3读取MBR实例

    C++采用ring3读取MBR实例

    这篇文章主要介绍了C++采用ring3读取MBR实例,可实现对硬盘的主引导记录的读取,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C++深入分析数据在内存中的存储形态

    C++深入分析数据在内存中的存储形态

    使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。您可能需要存储各种数据类型的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么
    2023-01-01
  • C语言实现扫雷游戏详细代码实例

    C语言实现扫雷游戏详细代码实例

    这篇文章主要介绍了C语言实现扫雷游戏详细代码实例,有感兴趣的同学可以借鉴参考下
    2021-02-02

最新评论