zoukankan      html  css  js  c++  java
  • CCF NOI1013 识别三角形

    问题链接CCF NOI1013 识别三角形




    时间限制: 1000 ms  空间限制: 262144 KB

    题目描述

      输入三个正整数,判断能否构成三角形的三边,如果不能,输出“NO”。如果能构成三角形,判断构成什么三角形?按等边、直角、一般三角形分类,依次输出对应的三角形类型“Equilateral”、“Right”、“General”。

    输入

      输入一行三个用空格隔开的正整数a,b,c,表示三角形的三条边长。

    输出

      输出对应三角形的类型,如果不能构成三角形,输出“NO”,如果是等边三角形输出“Equilateral”,如果是直角三角形输出“Right”,其他三角形则输出“General”。

    样例输入

    3 4 5

    样例输出

    Right

    数据范围限制

      1<=a,b,c<=1000



    问题分析

      这是一个判定问题,根据输入的3个值判定三角形。

      需要对三角形有关的概念和定义十分清楚才行。

    程序说明

      程序中,对于输入的值进行了交换,可以极大地简化三角形判断逻辑。

    要点详解
    • 一个复杂的计算,不是直接处理,而是分步进行处理,每一步的逻辑都变得简单,整体的处理逻辑也简化了。



    100分通过的C语言程序:

    #include <stdio.h>
    
    int main(void)
    {
        int a, b, c, temp;
    
        scanf("%d%d%d", &a, &b, &c);
    
        // 进行值交换,使得c为最大
        if(a > c && a > b) {
            temp = a;
            a = c;
            c = temp;
        } else if(b > a && b > c) {
            temp = b;
            b = c;
            c = temp;
        }
    
        // 进行三角形判定
        if(a + b > c) {
            if(a == b && b == c)
                printf("Equilateral
    ");
            else if(a * a + b * b == c * c)
                printf("Right
    ");
            else
                printf("General
    ");
        } else
            printf("NO
    ");
    
        return 0;
    }



  • 相关阅读:
    GET or POST?
    ASP.NET AJAX简述
    C# 后台调用存储过程
    S,C,SC,表
    js判定浏览器的种类
    sql 数据表添加或删除或修改字段 alter
    sql判定数据表是否存在,存在删除,再新建表或修改表名
    sql 所有的表建好后,为表添加外键约束
    打开office弹出steup error 的解决办法
    a标签的属性
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563931.html
Copyright © 2011-2022 走看看