郑轻1030。代码哪里出了问题(可以正常运行)

该题是让判断三条边能不能构成直角三角形。输入三角形三条边的值,根据能否构成直角三角形。输出yes或者no,为什么代码运行后输入3 4 5结果是no?我的思路是先让边c为最长的斜边,再利用勾股定理。我看过了其他答案,不需要判断哪条边是斜边更简单,不过比较疑惑我这个错在哪里

#include
int main(){
    int a,b,c,t;
    scanf("%d %d %d",&a,&b,&c);
    if(b>c)
    t=c;
    c=b;
    b=t;
    if(a>c)
    t=c;
    c=a;
    a=t;
    if(a*a+b*b==c*c)
    printf("Yes");
    else
    printf("NO");
    return 0;

}

可以简单化的,利用if(a+b>c&&b+c>a&&c+a>b)是则yes,否则No