uva11479 Is this the easiest problem?

uva11479

uDebug11479

 题意是说,给定三角形的三条边,判断能否组成三角形,如果不能,输出Case x: Invalid,如果可以,还需要进一步判断,并相应输出Case x: triangle type(三角形类型)。这里的三角形类型有Equilateral(等边三角形),Isosceles(等腰三角形),Scalene(非上述两类的普通三角形)

题目很简单,也是入门题吧。可能唯一要注意的就是对C/C++来说,三条边a、b、c的取值范围。

python版本AC代码

testcase = int(input())
for i in range(testcase+1):
	if i == 0:
		continue
	a,b,c = map(int,input().split())
	if a+b>c and a+c>b and b+c>a:
		if a == b and b == c:
			print("Case {}: Equilateral".format(i))
		elif (a == b and b != c) or (a == c and b != c) or (b == c and a != b):
			print("Case {}: Isosceles".format(i))
		else:
			print("Case {}: Scalene".format(i))
	else:
		print("Case {}: Invalid".format(i))

C++版本AC代码

#include <iostream>
#include<cstdio>
using namespace std;

//#define ZANGFONG

int main()
{
    #ifdef ZANGFONG
    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
    #endif // ZANGFONG
    int testcase,i;
    long long a,b,c;
    scanf("%d\n",&testcase);
    for(i = 1; i <= testcase; i++)
    {
        scanf("%lld%lld%lld\n",&a,&b,&c);
        if(a+b>c && a+c>b &&b+c>a)
        {
            if(a == b && b == c) printf("Case %d: Equilateral\n",i);
            else if((a == b && b != c)||(a == c && b != c)||(b == c && a != b))
                printf("Case %d: Isosceles\n",i);
            else printf("Case %d: Scalene\n",i);

        }
        else printf("Case %d: Invalid\n",i);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/zangfong/article/details/83010636