发布网友 发布时间:2022-04-24 01:24
共2个回答
热心网友 时间:2023-05-08 09:28
可以根据数学公式进行判断。一、数学定理。要构成三角形,必须要任意两边和大于第三边。进行判断的时候,其实只需要判断最小的两边和大于最长一边即可。二、算法设计。根据数学定理,在获取到三个边长后,可以有多种方法进行判断。 1、穷举。不做大小判断,对任意两边相加大于第三边即可。即: a+b>c&&a+c>b&&b+c>a 2、判断出三边大小关系,并排列,得到序列a≥b≥c,然后判断a+b>c即可。 3、得到三边a,b,c并得到其中最大值max,然后判断a+b+c>max*2即可。三、参考代码。以最基础的第一种方式为例,代码编写如下: #include int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c);//输入三个数。 if(a<=0 || b<=0 || c/判断数据合法性。 { printf("输入不合法,无法构成三角形\n"); } else if(a+b>c&&a+c>b&&b+c>a)//判断是否可以构成三角形,并输出结果。 { printf("可以构成三角形\n"); } else printf("无法构成三角形\n"); return 0;}热心网友 时间:2023-05-08 09:28
对于第一种情况:只需要b+c>a,就可以构成三角形。 对于第二种情况:两边之和大于第三边并且两边之差小于第三边。即a+b>c和|a-b|c,a+c>b,b+c>a 要判断输入的三条边能否够成三角形,只需满足条件两边之和大于第三边即可。追问请问是哪两种情况