Il problema deriva dalla printf( "%4d%21.2f\n", celsius, fahrenheit); in quanto tenti di stampare un float: %21.2f passando però un int.
Se vuoi risolvere in modo semplice ma poco funzionale in quanto perdi i decimali cambia così:
o meglio se vuoi ottenere una conversione ottimale:codice:printf( "%4d \t %21.2f\n", celsius, (float)fahrenheit);
codice:#include <stdio.h> #include <math.h> #include <stdlib.h> int main() { int celsius; float fahrenheit; printf( "%4s%21s \n", "CELSIUS", "FAHRENHEIT"); for ( celsius = 1; celsius <= 10; celsius++ ) { fahrenheit = (float) 5 * (celsius + 32)/9; printf( "%4d \t %21.2f\n", celsius, fahrenheit); } system("pause"); return 0; }

Rispondi quotando