给你三角形的三条边,你能告诉我它是哪种三角形吗?
如果是直角三角形,请输出“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;
}
```