11479 - Is this the easiest problem?

A triangle is a geometric shape with three positive sides. However, any given three sides won’t necessarily form a triangle. The three sides must form a closed region. Triangles are categorized depending on the values of the sides of a valid triangle. In this problem you are required to determine the type of a triangle.

 

 
  Input    
 

The first line of input will contain a positive integer T<20, where T denotes the number of test cases. Each of the next T lines will contain three 32 bit signed integer.

 
     
  Output  
 

For each case of  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 can not 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.
 
     
  Sample Input Sample Output    
 

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

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

 解题思路:判断三角形类型,定义使用long long,注意各类三角形的条件

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

 

posted on 2013-02-08 11:53  喂喂还债啦  阅读(459)  评论(0编辑  收藏  举报