首页 > ACM题库 > HDU-杭电 > HDU 3817-Triangle[解题报告]HOJ
2015
04-13

HDU 3817-Triangle[解题报告]HOJ

Triangle

问题描述 :

You are given the side lengths of a triangle, determine is it an acute triangle, right triangle or obtuse triangle.

输入:

The first line contains an integer T indicating the number of test cases.
For each test case, there is a single line contains three integer A, B and C indicating the side lengths of the triangle. (You can assume it is a valid triangle)

Technical Specification

1. 1 <= T <= 50
2. 1 <= A,B,C <= 100

输出:

The first line contains an integer T indicating the number of test cases.
For each test case, there is a single line contains three integer A, B and C indicating the side lengths of the triangle. (You can assume it is a valid triangle)

Technical Specification

1. 1 <= T <= 50
2. 1 <= A,B,C <= 100

样例输入:

3
2 2 2
4 8 5
3 4 5

样例输出:

Case 1: Acute triangle
Case 2: Obtuse triangle
Case 3: Right triangle

/*

各种水!

*/

#include<iostream>
using namespace std;

int main()
{
	int n, p=1;
	scanf("%d", &n);
	while(n--)
	{
		int a, b, c;
		scanf("%d%d%d", &a, &b, &c);
		int t;
		if(a > b)
		{
			t=a;
			a=b;
			b=t;
		}
		if(b > c)
		{
			t=b;
			b=c;
			c=t;
		}
		if(a > b)
		{
		
			t=a;
			a=b;
			b=t;
		}
		printf("Case %d: ", p++);
		if(a*a+b*b == c*c)
			printf("Right triangle\n");
		else if(a*a+b*b > c*c)
			printf("Acute triangle\n");
		else
			printf("Obtuse triangle\n");
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

参考:http://blog.csdn.net/asure__cpp/article/details/9733405


  1. 第二个方法挺不错。NewHead代表新的头节点,通过递归找到最后一个节点之后,就把这个节点赋给NewHead,然后一直返回返回,中途这个值是没有变化的,一边返回一边把相应的指针方向颠倒,最后结束时返回新的头节点到主函数。