第二节 习题处理

666.三角形类型

读取表示三角形三条边的 33 个浮点数 A,BA,B 和 CC 并按降序排列,使 AA 边是三边中最大的一边。

接下来,根据以下情况,确定它们可以组成的三角形类型:

  • 如果 A≥B+CA≥B+C,则说明三条边不能构成三角形,请输出:NAO FORMA TRIANGULO

  • 否则,说明三条边可以构成三角形,然后按如下情况输出:

    • 如果A2=B2+C2A2=B2+C2,请输出:TRIANGULO RETANGULO

    • 如果A2>B2+C2A2>B2+C2,请输出:TRIANGULO OBTUSANGULO

    • 如果A2<B2+C2A2<B2+C2,请输出:TRIANGULO ACUTANGULO

    • 如果三个边长度都相同,请输出:TRIANGULO EQUILATERO

    • 如果只有两个边长度相同而第三个边长度不同,请输出:TRIANGULO ISOSCELES

输入格式

共一行,包含三个浮点数 A,B,CA,B,C。

输出格式

输出 A,B,CA,B,C 组成的三角形的类型。

注意,上述条件可能满足不止一条,这种情况下将所有类型名称,按题目介绍顺序输出,每行输出一条。

数据范围

0<A,B,C≤10.0

#include <cstdio>


int main()
{
    double a,b,c;
    scanf("%lf %lf %lf",&a,&b,&c);

  if(b>a)
    {
        double t =a;
        a=b;
        b=t;
    }
    if(c>a)
    {
        double t=a;
        a=c;
        c=t;
    }
    if(c>b)
    {
       double t=b;
       b=c;
       c=t;
    }
    /*
    	对数据进行处理,排序。
    	上面大括号里面使用了变量值交换。
    */
    

    if(a>=b+c)
    {printf("NAO FORMA TRIANGULO\n");}
    else
    {
        if(a*a==b*b+c*c)
        {printf("TRIANGULO RETANGULO\n");}
        if(a*a>b*b+c*c)
        {printf("TRIANGULO OBTUSANGULO\n");}
        if(a*a<b*b+c*c)
        {printf("TRIANGULO ACUTANGULO\n");}
        if(a==b&&b==c&&c==a)
        {printf("TRIANGULO EQUILATERO\n");}
        if(((a==b)&&(b!=c))||((a==c)&&(b!=c))||((c==b)&&(b!=a)))
        {printf("TRIANGULO ISOSCELES\n");}

    }
    return 0;
}
 

668 游戏时间2

读取四个整数 A,B,C,DA,B,C,D,用来表示游戏的开始时间和结束时间。

其中 AA 和 BB 为开始时刻的小时和分钟数,CC 和 DD 为结束时刻的小时和分钟数。

请你计算游戏的持续时间。

比赛最短持续 11 分钟,最长持续 2424 小时。

输入格式

共一行,包含三个浮点数 A,B,CA,B,C。

输出格式

输出 A,B,CA,B,C 组成的三角形的类型。

注意,上述条件可能满足不止一条,这种情况下将所有类型名称,按题目介绍顺序输出,每行输出一条。

数据范围

0<A,B,C≤10.0

#include <cstdio>

int main()
{
    int begh,begm,finh,finm;
	/*
		分为两种情况,
		1.两者都在一天。直接相减即可。
	    2.两者不在一天,先计算开始时间距离24点的时间间隔,再与第二天的时间相加即可
	
	*/

    scanf("%d %d %d %d",&begh,&begm,&finh,&finm);
    int beg;
    beg=60*begh+begm;
    int fin;
    fin=60*finh+finm;

    int time;
    time =fin-beg;
    if(time<=0) time+=1440;

    printf("O JOGO DUROU %d HORA(S) E %d MINUTO(S)",time/60,time%60);

    return 0;
}

658.一元二次方程

读取三个浮点数 a,b,ca,b,c 的值,利用一元二次方程求根公式对方程 ax2+bx+c=0ax2+bx+c=0 进行求解。

一元二次方程求根公式为:

如果 b2−4ac<0b2−4ac<0 导致方程无解或 a=0a=0,则输出 Impossivel calcular

输入格式

输入三个浮点数 a,b,ca,b,c。

输出格式

参照输出格式,输出方程的根,输出结果保留五位小数,如果无解则输出 Impossivel calcular

两个根可以按任意顺序输出,都算正确。

数据保证不存在只有一个解的情况。

#include <cstdio>
#include <cmath>

int main()

{
    double a,b,c;
    scanf("%lf %lf %lf",&a,&b,&c);
    double del =b*b-4*a*c;

    if(del<0 || a==0)
    {printf("Impossivel calcular\n");

    }else
    {
        double x1,x2;
        del =sqrt(del);
       x1 =(-b+del)/(2*a);
       x2 =(-b-del)/(2*a);
        printf("R1 = %.5lf\n",x1);
        printf("R2 = %.5lf\n",x2);
    }
    return 0;

}

670.动物

给定你三个葡萄牙语单词,这些词将根据下表从左到右定义一个动物。

请你确定并输出这个动物的名称。

输入格式

根据上表,输入包含三个单词,每行一个,用以识别动物,单词由小写字母构成。

输出格式

输出识别出的动物的名称。

#include <cstdio>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string a,b,c;
    cin>>a>>b>>c ;

    if(a=="vertebrado")
    {
        if(b=="ave")
        {
            if(c=="carnivoro")
            {printf("aguia");}
            else
            {printf("pomba");}
        }
        else
        {
            if(c=="onivoro")
            {printf("homem");}
            else
            {printf("vaca");}

        }
    }
    else
    {
        if(b=="inseto")
        {
            if(c=="hematofago")
            {printf("pulga");}
            else
            {printf("lagarta");}
        }
        else
        {
            if(c=="hematofago")
            {printf("sanguessuga");}
            else
            {printf("minhoca");}

        }
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值