目录
马上就要突破10000浏览量了,再写一篇加加油!

图片截图时间:2023.10.25.20:23

这道题是给定三条边的长度,让我们判断属于什么类型。注意:可以属于多个类型
首先我们会想到的就是给三条边进行排序,方便我们后续勾股定理的使用。
我们从上往下依次来分析:
1、Not triangle
若最短两条边之和小于等于最长的边即不能组成一个三角形。
判断公式:两边之和大于第三边
2、Right triangle
若最短两条边各自的平方和相加等于第三条边的平方,则是一个直角三角形。
判断公式:勾股定理(勾三股四弦五)
3、Acute triangle
若最短两条边各自的平方和相加大于第三条边的平方,则是一个锐角三角形。
判断公式:参考勾股定理
4、Obtuse triangle
若最短两条边各自的平方和相加小于第三条边的平方,则是一个钝角三角形。
判断公式:参考勾股定理
5、Isosceles triangle
若有大于等于2条边的长度相等,则是一个等腰三角形。
6、Equilateral triangle
若三条边的长度相等,则是一个等边三角形。
分析完,编程不就SO EASY了?
程序中有很多平方运算,我们可以写个函数,减少代码量。
- #include
- using namespace std;
- int f(int a) //定义平方函数
- {
- return a*a;
- }
- int main()
- {
- int a[4]; //定义数组,方便排序
- for(int i=1;i<=3;i++) cin>>a[i];
- sort(a+1,a+3+1);
- if(a[1]+a[2]<=a[3])
- {
- cout<<"Not triangle"<
- return 0;//如果不是三角形,立刻终止程序
- }
- if(f(a[1])+f(a[2])==f(a[3]))
- cout<<"Right triangle"<
- else if(f(a[1])+f(a[2])<f(a[3]))
- cout<<"Obtuse triangle"<
- else
- cout<<"Acute triangle"<
- if(a[1]==a[2]||a[2]==a[3]||a[3]==a[1])
-
-
相关阅读:
C# 模式匹配完全指南
MVSNet论文笔记
带你玩转序列模型之NLP与词嵌入(一)
设计模式【六】:适配器
【图像二值化】基于matlab C4.5决策树图像二值化【含Matlab源码 2225期】
vue实现一个基础的虚拟列表
代码,敲开新世界的大门
Linux:磁盘分区,挂载(含实例)
提升微服务稳定性与性能:深入剖析Netflix Hystrix框架
计算机组成原理_Cache写策略
-
原文地址:https://blog.csdn.net/m0_73787047/article/details/134042408