请问我哪里还存在错误,我自己知道有错,但我自己找不出来

任务描述
输入三条线段的长度(整型),根据是否能组成三角形,输出以下结果之一:锐角三角形、直角三解形、钝角三角形、不能构成三角形。

输入格式:
三个整数

输出格式:
锐角三角形输出: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 

int main() {
    int a, b, c, t;
    scanf("%d%d%d", &a, &b, &c);
    if (a > b) {
        t = a;
        a = b;
        b = t;
    }
    if (a > c) {
        t = a;
        a = c;
        c = t;
    }
    if (b > c) {
        t = b;
        b = c;
        c = t;
    }
    int a>b>c;
    if (b+c > a && a - b < c) {
        if (b * b + c * c == a * a) {
            printf("Right triangle");
        }
        else if (b * b + c * c > a * a) {
            printf("Obtuse triangle");
        }
        else if (b * b + c * c < a * a) {
            printf("Acute triangle");
        }
    } else {
        printf("Not triangle");
    }
    return 0;
}

int a>b>c; 这行想干啥?
b+c > a && a - b < c这两个条件是一回事啊
三个if交换后,a是最小值,c是最大值啊,你写反了吧。将if条件从>改为小于,保证a是最大值,才符合你下面代码逻辑

int main() {
    int a, b, c, t;
    scanf("%d%d%d", &a, &b, &c);
    if (a < b) {
        t = a;
        a = b;
        b = t;
    }
    if (a < c) {
        t = a;
        a = c;
        c = t;
    }
    if (b < c) {
        t = b;
        b = c;
        c = t;
    }
    if (b+c > a) {
        if (b * b + c * c == a * a) {
            printf("Right triangle");
        }
        else if (b * b + c * c > a * a) {
            printf("Acute triangle");
        }
        else if (b * b + c * c < a * a) {
            printf("Obtuse triangle");
        }
    } else {
        printf("Not triangle");
    }

 
    return 0;
}