本文主要研究的是输入三角形边长判断其类型并输出面积,用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语言坐标三角形判断,C语言输入三角形边长判断其类型并输出面积实例代码相关推荐

  1. JavaBean简单应用,输入三边长判断能否构成三角形并输出三角形面积

    JavaBean简单应用,输入三边长判断能否构成三角形并输出三角形面积 要求:编写2个JSP页面:inputTriangle.jsp与showTriangle.jsp,inputTriangle.js ...

  2. Java黑皮书课后题第2章:2.16(几何:六边形面积)编写程序,提示用户输入六边形边长,然后显示它的面积

    2.16(几何:六边形面积)编写程序,提示用户输入六边形边长,然后显示它的面积 题目 题目描述 运行示例 代码 题目 题目描述 2.16(几何:六边形面积)编写程序,提示用户输入六边形边长,然后显示它 ...

  3. C语言 编写程序:由键盘输入一个字符判断是字母数字还是其他符号。

    c语言程序题 编写程序:由键盘输入一个字符判断是字母数字还是其他符号. #include<stdio.h> void main() {char a;scanf("%c" ...

  4. c语言坐标打印佛祖,C语言输入平面上两个点的坐标(double类型),计算两个点之间的距离。看”详细“里哪里写错了谢谢...

    满意答案 #include #includeint main(){ int x1,y1,x2,y2,absx,absy; double res; printf("Please input t ...

  5. c语言坐标绕路,C语言中的奇技淫巧

    前言 学习C语言的过程中,总会遇到很多令人眼前一亮的代码,尤其是你写了几十行的代码,别人只用了简单几行的递归就实现的功能.下面我就总结几个C语言中 比较新手向的代码.让你有一种"woc!还能 ...

  6. c语言坐标打符号,c语言中特殊符号

    c语言中特殊符号: 教你用输入法打出任意特殊符号,缺失:c语言中3248/9 最近老有人问我这个符号怎么打,那个符号怎么打. 我每次回答的都是,你要打的是特殊符号,这种特殊符号不能用输入法打出来,需要 ...

  7. C语言坐标结构,关于c语言结构体偏移的一点思考(一)

    1 引言 而在实际开发过程中,比较常见的场景是给定结构体变量的初始地址,如何访问结构体内每一个成员变量?这类问题的核心是如何快速的计算结构体成员变量的偏移地址.本文将和大家一起探讨结构体内成员变量偏移 ...

  8. python判断是不是三角形数_python:输入三个数判断是什么三角形

    刚刚学习Python,欢迎大家指点 #Filename:Triangle #Function:Judgment triangle #Author:Judy #Time:2018.9.26 a=int( ...

  9. java构成三角形的条件_java输入三角形的三个边判断能否构成三角形。并判断构成三角形的类别(等边,等腰,普通)...

    匿名用户 1级 2011-03-04 回答 import java.util.Scanner; public class Trigon { private double a; private doub ...

  10. c语言编程怎么写从键盘输入,c语言编程: 从键盘任意输入三个数,按照从小到大的顺序输出....

    #include<stdio.h> void main() { int a,b,c,t; printf("请输入三个整数:a b c\n"); scanf(" ...

最新文章

  1. Spring Boot日志集成
  2. sevlet3.0上传文件功能
  3. 游戏设计模式思考:“穿越火线”中的“策略模式”
  4. Bigo 实时计算平台建设实践
  5. sql server高级查询,看这篇文章就够了
  6. 《流浪地球》 电影全集
  7. 移动应用开发——实验四
  8. 【opencv】双目视觉下空间坐标计算/双目测距 6/13更新(转载)
  9. unserialize用法
  10. 微信公众平台消息接口开发(34)微信墙之表白墙/婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙...
  11. 舞蹈课 (C++堆的优先级与重载)
  12. EXCEL表格-输入身份证号无法正常展示问题详解
  13. 基于mvc设计模式下的商品管理平台
  14. Vivado中FFT9.1 IP核的使用(4)——SCALE_SCH缩放设置
  15. Cortex-M0核芯片bootloader调试过程
  16. 基于cisco 模拟公司网络拓扑
  17. 4.8 范德蒙德行列式
  18. 【深度学习】关于EMA:指数移动平均
  19. Tiny 4412 lcd 驱动分析
  20. 基于深度学习的手势识别系统(Python代码,UI界面版)

热门文章

  1. JavaWeb登陆界面
  2. 万能开头结尾(申论)
  3. 算法题目:小于n的最大数
  4. 在日本申报个人所得税流程
  5. SpringCloud优点、缺点
  6. 秀气的爷们儿——2012的轩小样儿 2012年2月20日
  7. 刘乾四川大学计算机学院刘乾,刘乾亮
  8. C/C++ 内存泄漏-原因、避免以及定位
  9. 洛谷P3533 [POI2012]RAN-Rendezvous
  10. QuickCHM V2.6