萌新 想问一下各位大佬这样为什么不对 在输入为8 8 8时为什么输出还是d=4的情况
#include<stdio.h>
int main(){
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
int d=0;
if(a+b>c&&a+c>b&&b+c>a){
if(a==b&&b==c){
d=1;
}
else if(a==b||b==c||a==c){
d=2;
}
int a2=a*a,b2=b*b,c2=c*c;
if(a2+b2==c2||a2+c2==b2||b2+c2==a2){
if(d==2){
d=6;
}
else{
d=3;
}
}
else
if(a2+b2>c2&&a2+c2>b2&&b2+c2>a2){
if(d==1){
d=1;
}
else{
d=4;
}
}
else{
d=5;
}
}
else{
d=0;
}
switch(d){
case 0:{
printf("Not triangle\n");
break;
}
case 1:{
printf("Isosceles triangle\n");
printf("Equilateral triangle\n");
break;
}
case 2:{
printf("Isosceles triangle\n");
break;
}
case 3:{
printf("Right triangle\n");
break;
}
case 4:{
printf("Acute triangle\n");
break;
}
case 5:{
printf("Obtuse triangle\n");
break;
}
case 6:{
printf("Isosceles triangle\n");
printf("Right triangle\n");
break;
}
}
return 0;
}