2
respostas

Exercicio maior numero

olá pessoal alguem poderia me explicar por favor onde errei na função para achar o maior numero? Valeu

function maior(a,b,c){ if (a > b && a > c) { return 'Maior é ' + a }else if (b > a && b > c) { return 'Maior é ' + b }else{ return 'Maior é ' + c } } console.log(maior(2,4,6))

2 respostas

Bom dia, qual erro que está apresentando?

Tudo bem, Julia?

Eu também não vi erro, mas o código pode apresentar resultados indesejáveis a depender dos argumentos fornecidos. Por exemplo,

console.log(maior(8,8,2)) // Maior é 2  ???? o_O

Isso ocorre porque os if ... else if statements não consideram igualdade na hora de comparar os números.

Você pode ainda reduzir o número de comparações, considerando que se a condição (a > b && a > c) for falsa, segue que b <= a e logo não precisa comparar b e a na segunda condição.

Finalmente, uma opinião pessoal, eu acho que fica mais legível se retirar os else if da vida. O return statement interrompe o fluxo do bloco do if. Então, assim que encontrar uma condição verdadeira, o código vai interromper.

function maior(a,b,c){
    if (a >= b && a >= c) return 'Maior é ' + a;
    if (b >=c) return 'Maior é ' + b;
    return 'Maior é ' + c; 
} 

Happy coding!