zoukankan      html  css  js  c++  java
  • hdu 3817

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
     int main()
     {
         int t;
         int a[3];
         while(~scanf("%d",&t)) 
         {
             for(int i=1;i<=t;i++)
             {
                 scanf("%d%d%d",&a[0],&a[1],&a[2]);
                 sort(a,a+3);
                 if(a[0]*a[0]+a[1]*a[1]==a[2]*a[2])
                 {
                     printf("Case %d: Right triangle
    ",i);
                     continue;
                 }
                 if(a[0]*a[0]+a[1]*a[1]<a[2]*a[2])
                 {
                     printf("Case %d: Obtuse triangle
    ",i);
                     continue;
                 }
                 if(a[0]*a[0]+a[1]*a[1]>a[2]*a[2])
                 {
                     printf("Case %d: Acute triangle
    ",i);
                     continue;
                 }
             }
         }
         return 0;
     }

    只需判断锐角或钝角或直角;

    设三角形最长边为c  其余两边分别为a b  则
    若a^2+b^2=c^2  直角三角形(勾股定理逆定理)
    若a^2+b^2>c^2  锐角三角形
    若a^2+b^2<c^2  钝角三角形
    设1中三边对应的角分别为A、B、C  则
    若A=90度  直角三角形
    若A>90度  钝角三角形
    若A<90度且A为最大角  锐角三角形
    若有a=b或(a-b)(b-c)(c-a)=0,  则△ABC为等腰三角形
    若有(a-b)2+(b-c)2+(c-a)2=0,  则△ABC为等边三角形
    若有(a2-b2)( a2+b2-c2)=0,  则△ABC为等腰三角形或直角三角形
    若有a=b且 a2+b2=c2,  则△ABC为等腰直角三角形
    若有sin2A+sin2B=sin2C或sinA=sinB,   则△ABC为直角三角形或等腰三角形
    若有cosA>0,或tanA>0,(其中∠A为△ABC中的最大角)    则△ABC为锐角三角形
    若有cosA<0,或tanA<0,(其中∠A为△ABC中的最大角),    则△ABC为钝角三角形
    若有两个(或三个)同名三角函数值相等(如tanA=tanB,    则△ABC为等腰三角形(或等边三角形)
    若有特殊的三角函数值,则按特殊角来判断,如cosA=,b=c,则△ABC为等边三角形

  • 相关阅读:
    eCharts_数据过多底部滚动条实现数据展示
    canvas_简单练习
    canvas_基于canvan绘制的双半圆环进度条
    js_读【javascript面向对象编程指南】笔记
    csc_滤镜filter和实现透明的两种方式
    jq_从右向右的滑入滑出效果
    textarea输入框实时统计输入字符数
    windows7_常用操作终端操作
    1080. Graduate Admission (30)
    1079. Total Sales of Supply Chain (25)
  • 原文地址:https://www.cnblogs.com/gao-qi/p/6861885.html
Copyright © 2011-2022 走看看