九度OJ 1048:判断三角形类型 (基础题)

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:6794

解决:3361

题目描述:

给定三角形的三条边,a,b,c。判断该三角形类型。

输入:

测试数据有多组,每组输入三角形的三条边。

输出:

对于每组输入,输出直角三角形、锐角三角形、或是钝角三角形。

样例输入:
3 4 5
样例输出:
直角三角形
来源:
2009年哈尔滨工业大学计算机研究生机试真题

思路:

利用勾股定理来求,事先要对3条边进行排序。


代码:

#include <stdio.h>
 
void swap(int *x, int *y)
{
    int tmp;
    tmp = *x;
    *x = *y;
    *y = tmp;
}
 
int main(void)
{
    int a, b, c;
 
    while (scanf("%d%d%d", &a, &b, &c) != EOF)
    {
        if (a > b)
            swap(&a, &b);
        if (b > c)
            swap(&b, &c);
 
        int result = a*a + b*b -c*c;
        if (result > 0)
            printf("锐角三角形\n");
        else if(result == 0)
            printf("直角三角形\n");
        else
            printf("钝角三角形\n");
    }
 
    return 0;
}
/**************************************************************
    Problem: 1048
    User: liangrx06
    Language: C
    Result: Accepted
    Time:0 ms
    Memory:912 kb
****************************************************************/


你可能感兴趣的:(C语言,OJ,九度)