Hola.
Veo que habría un problema si el IMC es igual a 25.
if(imcCalculado >= 18.5 && imcCalculado <= 25) // aqui entraría el codigo primero pues se cumple la condición
else if (imcCalculado >=25 && imcCalculado <= 30) // la condicion tambien se cumple porque el numero es 25 y menor que 30 pero no se ejecutaría porque ya entró al primer if, habria que corregirlo y quitarle el igual
Y como comentó Manuel, falta la condición de cuanto es menor a 18.5
Tu lógica es la misma a la que yo pensé.
Mi código quedó de la siguiente forma:
if (imcCalculado < 18.5) {
imprimir("Su IMC está por debajo de lo recomendado");
}
if (imcCalculado >= 18.5 && imcCalculado <= 24.9) {
imprimir("Su IMC está considerado como Normal");
}
if (imcCalculado >= 25 && imcCalculado < 30) {
imprimir("Su IMC está considerado como Sobrepeso");
}
if (imcCalculado >= 30){
imprimir("Su IMC está considerado como Obesidad");
}