TOJ 2746: Classifying Triangles

来源:互联网 发布:百度云限速脚本 知乎 编辑:程序博客网 时间:2024/06/06 06:56

2746: Classifying Triangles

描述

A triangle can be described by the lengths of its three sides.  However, any given three lengths will not necessarily describe a triangle.  In this problem, you must determine the type of triangle, given three side lengths.

输入

The first line of input will contain a positive integer T < 1000, where T denotes the number of test cases.  Each of the next T lines will contain three positive integers.  Each integer will be less than 10^9.

输出

For each case of the input there will be one line of output.  It will be formatted as:
Case #{x}: {triangle type}
where x denotes the case number being processed and {triangle type} is the type of the triangle.  {triangle type} will be one of the following, depending on the values of the three sides:
Invalid - The three sides cannot form a triangle
Equilateral  - All three sides of valid triangle are equal
Isosceles  - Exactly two of the sides of a valid triangle are equal
Scalene - No pair of sides are equal in a valid triangle.

样例输入

5
1 2 5
1 1 1
4 4 2
3 4 5
1 1 2

样例输出

Case 1: Invalid
Case 2: Equilateral
Case 3: Isosceles
Case 4: Scalene
Case 5: Invalid

代码

#include <stdio.h>
int main()
{
int n,i,a,b,c;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d%d",&a,&b,&c);
if((a+b<=c)||(a+c<=b)||(b+c<=a)||(a<0)||(b<0)||(c<0))
printf("Case %d: Invalid\n",i+1);
else
{
if(a==b&&b==c)
printf("Case %d: Equilateral\n",i+1);
else if(a==b||b==c||a==c)
printf("Case %d: Isosceles\n",i+1);
else
printf("Case %d: Scalene\n",i+1);
}
}
return 0;
}