No te sale bien porque al dividir las dos variables de tipo entero, el resultado es entero (sale 2) y los decimales, aunque luego pases la división a float ya se han perdido. Debes de definir las tres variables (altura, peso y salud) como float.
Te adjunto lo dicho simulado en PROTEUS. He utilizado un trozo de programa que tenía con LCD de 8 bits, para 4 bits lo mismo (en Ejemplos para Simular deje hace algún tiempo la forma de usar LCDs con 4 y 8 bits)
Otra cosa: la definición de variables hazla en el main, no en el while
Un saludo