运用C语言解决问题并最好能有注释

给你三角形的三条边,你能告诉我它是哪种三角形吗?
如果是直角三角形,请输出“good”。如果是等腰三角形,请输出“perfect”。否则,请输出“just a triangle”。
题目保证输入数据合法。

Input
输入的第一行为一个整数t,表示测试样例的数量。
每组样例包含了三个整数a,b,c,代表了三角形的三条边的长度。(0<a,b,c<300)

Output
对于每组样例,先输出是第几个测试案例,具体看样例,输出结果,每组结果占一行。

SampleInput
4
3 4 5
2 2 3
1 4 4
4 6 3
SampleOutput
Case 1#: good
Case 2#: perfect
Case 3#: perfect
Case 4#: just a triangle

回答:一个简单的选择和输入输出,代码如下,(采用DevC++编写)

#include<stdio.h>

int main()            //判断三角形 
{
    int t;
    printf("请输入三角形的个数:");
    scanf("%d",&t);
    int a[t],b[t],c[t];
    printf("请依次输入三角形的边长:\n");
    for(int i=0;i<t;i++){
        scanf("%d %d %d",&a[i],&b[i],&c[i]);
        printf("\n");
    }
    for(int i=0;i<t;i++){
        if(a[i]*a[i]+b[i]*b[i]==c[i]*c[i]){
            printf("good\n");
        }
        else if(a[i]==b[i] || a[i]==c[i] || b[i]==c[i]){
            printf("perfect\n");
        }
        else{
            printf("just a triangle\n");
        }
    }
}

应该没啥问题,仅供参考



```c
#include <stdio.h>
#include <math.h>
int main()
{   
    int num,i;
    int t;
    int arr[128];
    printf("sampleinput\n");
    scanf("%d",&t);
    for(i=0;i<t*3;i++)  //把数存在数组里面
    {   
        scanf("%d",&num);
        arr[i] = num;
    }
    for(i=0;i<t*3;i=i+3)
    {
        if(pow(arr[i],2)==pow(arr[i+1],2)+pow(arr[i+2],2)||
           pow(arr[i+1],2)==pow(arr[i],2)+pow(arr[i+2],2)||
           pow(arr[i+2],2)==pow(arr[i],2)+pow(arr[i+1],2) )
        {   
            printf("good\n");
        }
        else if(arr[i]==arr[i+1]||arr[i]==arr[i+2]||arr[i+1]==arr[i+2])
        {   
            printf("perfect\n");
        }
        else
        {   
            printf("just a triang\n");
        }
    }
    printf("\n");
    
    return 0;
}


```