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;
}