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ì:
codice:
printf( "%4d \t %21.2f\n", celsius, (float)fahrenheit);
o meglio se vuoi ottenere una conversione ottimale:
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;
}