问题遇到的现象和发生背景
求解惑,我的代码问题出在哪里,样例通过,但不对,是15,16段越界判断的可能性小,求解惑,我知道正确的代码,请不要直接给代码,尽可能用原来代码思路,谢谢
输入三条线段的长度(整型),根据是否能组成三角形,输出以下结果之一:锐角三角形、直角三解形、钝角三角形、不能构成三角形。
输入格式:
三个整数
输出格式:
锐角三角形输出:Acute triangle
直角三解形输出:Right triangle
钝角三角形输出:Obtuse triangle
不能构成三角形输出:Not triangle
输入样例:
2 3 3
输出样例:
Acute triangle
输入样例:
5 4 3
输出样例:
Right triangle
输入样例:
6 4 3
输出样例:
Obtuse triangle
输入样例:
8 4 3
输出样例:
Not triangle
问题相关代码,请勿粘贴截图
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
int max=(a>b?a:b)>c?(a>b?a:b):c;//求三者最大值
int min=(a<b?a:b)<c?(a<b?a:b):c;//求三者最小值
int cen=a+b+c-max-min;//中间值
if(min+cen<max||a<=0||b<=0||c<=0){
printf("Not triangle");
}else{
if(min*min+cen*cen==max*max){
printf("Right triangle");
}else if(min*min+cen*cen<max*max){
printf("Obtuse triangle");
}else if(min*min+cen*cen>max*max){
printf("Acute triangle");
}
}
return 0;
}