STICP-002_编程挑战系列赛第二场(从现在开始,这里叫涛涛广场!)_E.涛涛的打工日记

原题链接:STIPC-002_E.涛涛的打工日记

E.涛涛的打工日记

题目背景

出题人有话说:没难度的题目,直接对着敲就行。

题目描述

由于涛涛的好兄弟叶子哥正在训练一个三角形分类模型,可是他手头只有一堆还未标注的数据,想让涛涛帮忙标注一下,可是笨笨的涛涛完成不了这样艰巨的任务,还想让你帮忙编写程序完成这项工作。(完成不了的话,涛涛就不能继续打工啦,呜呜呜~)
标注规则如下:
给你三个整数,表示可能组成一个三角形的三条边长。
如果能组成一个等边三角形,输出 “ e q u i l a t e r a l equilateral equilateral” ;
如果能组成一个直角三角形,输出 “ r i g h t right right” ;
如果不能组成一个三角形,输出 “ e r r o r error error” ;
否则,输出 “ n o r m a l normal normal” 。

输入格式

第一行一个正整数 T ( 1 ≤ T ≤ 20 ) T(1≤T≤20) T(1T20) ,表示需要标注的数据量。
接下来 T T T 行,每一行给出三个整数 a , b , c a,b,c a,b,c ( 1 ≤ a , b , c ≤ 1000 ) (1≤a,b,c≤1000) (1a,b,c1000) ,表示可能组成三角形的三条边长。

输出格式

对于每一组数据,在一行内输出标注过后的结果。

输入输出样例

样例一:
输入:
4
3 3 3
3 4 5
2 2 3
1 2 3
输出:
equilateral
right
normal
error

说明/提示

题目解析:

本题使用简单的循环判断语句即可完成,需要清楚各类三角形的边长关系:
①构成三角形的条件:任意两边之和大于第三边;
②构成等边三角形的条件:三条边的边长都相等;
③构成直角三角形的条件:满足勾股定理。
有了这些知识就可以编码 A C AC AC 了!

AC代码(C++):
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int n;
    scanf("%d",&n);
    int a,b,c;
    for(int i=0;i<n;i++)
    {
        scanf("%d%d%d",&a,&b,&c);
        if(a+b<=c||a+c<=b||b+c<=a)
            printf("error\n");
        else if(a==b&&b==c)
            printf("equilateral\n");
        else if(a+b>c&&a+c>b&&b+c>a)
        {
            if(a*a+b*b==c*c||b*b+c*c==a*a||c*c+a*a==b*b)
                printf("right\n");
            else
                printf("normal\n");
        }
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Grape_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值