
Triangle Types
Adapted by Neilor Tonin, URI Brazil
Read 3 double numbers (A, B and C) representing the sides
of a triangle and arrange them in decreasing order, so
that the side A is the biggest of the three sides. Next,
determine the type of triangle that they can make, based
on the following cases always writing an appropriate
message:
- if A ≥ B + C, write the message: NAO FORMA TRIANGULO
- if A2 = B2 + C2, write the message: TRIANGULO RETANGULO
- if A2 > B2 + C2, write the message: TRIANGULO OBTUSANGULO
- if A2 < B2 + C2, write the message: TRIANGULO ACUTANGULO
- if the three sides are the same size, write the message: TRIANGULO EQUILATERO
- if only two sides are the same and the third one is different, write the message: TRIANGULO ISOSCELES
Input
The input contains three double numbers, A (0 < A) , B (0 < B) and C (0 < C).
Output
Print all the classifications of the triangle presented in the input.
Input Samples | Output Samples |
7.0 5.0 7.0 |
TRIANGULO ACUTANGULO |
6.0 6.0 10.0 |
TRIANGULO OBTUSANGULO |
6.0 6.0 6.0 |
TRIANGULO ACUTANGULO |
5.0 7.0 2.0 |
NAO FORMA TRIANGULO |
6.0 8.0 10.0 |
TRIANGULO RETANGULO |
URI - BEECROWD Online Judge 1045 Solve in C :
//Solved by Intesar#include <stdio.h>
int main() {
double A,B,C; scanf("%lf%lf%lf",&A,&B,&C);
if(A>=B+C || B>=A+C || C>=A+B) printf("NAO FORMA TRIANGULO\n"); else if(A*A==B*B+C*C || B*B==A*A+C*C || C*C==A*A+B*B) printf("TRIANGULO RETANGULO\n"); else if(A*A>B*B+C*C || B*B>A*A+C*C || C*C>A*A+B*B) printf("TRIANGULO OBTUSANGULO\n"); else if(A*A<B*B+C*C || B*B<A*A+C*C || C*C<A*A+B*B) printf("TRIANGULO ACUTANGULO\n"); if(A==B && B==C) printf("TRIANGULO EQUILATERO\n"); if((A==B && A!=C) || (B==C && B!=A) || (A==C && A!=B)) printf("TRIANGULO ISOSCELES\n");
return 0;}
0 Comments