URI Online Judge | 1045 Triangle Types (Solution)
Problem Link:
https://www.urionlinejudge.com.br/judge/en/problems/view/1045
https://www.urionlinejudge.com.br/judge/en/problems/view/1045
URI Online Judge | 1045
Triangle Types
Adapted by Neilor Tonin, URI Brazil
Timelimit: 1
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.
Sample Inputs | Sample Outputs |
7.0 5.0 7.0 | TRIANGULO ACUTANGULO TRIANGULO ISOSCELES |
6.0 6.0 10.0 | TRIANGULO OBTUSANGULO TRIANGULO ISOSCELES |
6.0 6.0 6.0 | TRIANGULO ACUTANGULO TRIANGULO EQUILATERO |
5.0 7.0 2.0 | NAO FORMA TRIANGULO |
6.0 8.0 10.0 | TRIANGULO RETANGULO |
Solution:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| #include <stdio.h> int main() { double a, b, c, temp; scanf ( "%lf %lf %lf" , &a, &b, &c); if (a < b) { temp = a; a = b; b = temp; } if (b < c) { temp = b; b = c; c = temp; } if (a < b) { temp = a; a = b; b = temp; } if (a >= b + c) { printf ( "NAO FORMA TRIANGULO\n" ); } else if (a * a == b * b + c * c) { printf ( "TRIANGULO RETANGULO\n" ); } else if (a * a > b * b + c * c) { printf ( "TRIANGULO OBTUSANGULO\n" ); } else if (a * a < b * b + c * c) { printf ( "TRIANGULO ACUTANGULO\n" ); } if (a == b && b == c) { printf ( "TRIANGULO EQUILATERO\n" ); } else if (a == b || b == c) { printf ( "TRIANGULO ISOSCELES\n" ); } return 0; } |
good work man but if you erase that first one
ReplyDeleteif (a < b)
{
temp = a;
a = b;
b = temp;
}
code works fine good work though
if you erase first one. It doesn't work. Check again!
Deletewhat if B == C just?
ReplyDeletethen you don't have to switch their places.
DeleteTemp for what??
ReplyDelete