Problem I
Is this the easiest problem?
Time Limit : 1 second
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
参考代码:给定三角形的三条边,判断此三角形的类型(Invalid, Equilateral,Isosceles,Scalene),其符合条件分别为任意2边小于等于第三边;3边全等,任意2边相等,和3边不等。用if语句判断一下就好。
#include"stdio.h" int main() { long n,a,b,c,i=1; scanf("%ld",&n); while(n--) {scanf("%ld%ld%ld",&a,&b,&c); if(a+b<=c||a+c<=b||b+c<=a) printf("Case %ld: Invalid\n",i); else if(a==b&&b==c&&c==a) printf("Case %ld: Equilateral\n",i); else if(a==b&&a!=c) printf("Case %ld: Isosceles\n",i); else if(a==c&&a!=b) printf("Case %ld: Isosceles\n",i); else if(b==c&&b!=a) printf("Case %ld: Isosceles\n",i); else if(a!=b&&a!=c&&b!=c) printf("Case %ld: Scalene\n",i); i++; } }