#include <stdio.h>
float toCelsius(int theFahrenheitTemp);
float toFahrenheit(int theCelsiusTemp);
int main()
{
int i;
/* Celsius to Fahrenheit Table (rounded to 1 decimal) */
printf("Celsius to Fahrenheit Conversion Table\n"); printf("Celsius\tFahrenheit\n"); printf("-------------------\n"); for (i = 0; i <= 100; i++)
{
float f = toFahrenheit(i);
f = roundf(f * 10.0) / 10.0; // round to 1 decimal
}
/* Fahrenheit to Celsius Table (rounded to 2 decimals) */
printf("Fahrenheit to Celsius Conversion Table\n"); printf("Fahrenheit\tCelsius\n"); printf("----------------------\n"); for (i = 32; i <= 212; i++)
{
float c = toCelsius(i);
c = roundf(c * 100.0) / 100.0; // round to 2 decimals
}
return 0;
}
float toCelsius(int theFahrenheitTemp)
{
return (theFahrenheitTemp - 32) * 5.0 / 9.0;
}
float toFahrenheit(int theCelsiusTemp)
{
return (theCelsiusTemp * 9.0 / 5.0) + 32;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpmbG9hdCB0b0NlbHNpdXMoaW50IHRoZUZhaHJlbmhlaXRUZW1wKTsKZmxvYXQgdG9GYWhyZW5oZWl0KGludCB0aGVDZWxzaXVzVGVtcCk7CgppbnQgbWFpbigpCnsKICAgIGludCBpOwoKICAgIC8qIENlbHNpdXMgdG8gRmFocmVuaGVpdCBUYWJsZSAocm91bmRlZCB0byAxIGRlY2ltYWwpICovCiAgICBwcmludGYoIkNlbHNpdXMgdG8gRmFocmVuaGVpdCBDb252ZXJzaW9uIFRhYmxlXG4iKTsKICAgIHByaW50ZigiQ2Vsc2l1c1x0RmFocmVuaGVpdFxuIik7CiAgICBwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogICAgZm9yIChpID0gMDsgaSA8PSAxMDA7IGkrKykKICAgIHsKICAgICAgICBmbG9hdCBmID0gdG9GYWhyZW5oZWl0KGkpOwogICAgICAgIGYgPSByb3VuZGYoZiAqIDEwLjApIC8gMTAuMDsgLy8gcm91bmQgdG8gMSBkZWNpbWFsCiAgICAgICAgcHJpbnRmKCIlM2RcdCU1LjFmXG4iLCBpLCBmKTsKICAgIH0KCiAgICBwcmludGYoIlxuIik7CgogICAgLyogRmFocmVuaGVpdCB0byBDZWxzaXVzIFRhYmxlIChyb3VuZGVkIHRvIDIgZGVjaW1hbHMpICovCiAgICBwcmludGYoIkZhaHJlbmhlaXQgdG8gQ2Vsc2l1cyBDb252ZXJzaW9uIFRhYmxlXG4iKTsKICAgIHByaW50ZigiRmFocmVuaGVpdFx0Q2Vsc2l1c1xuIik7CiAgICBwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogICAgZm9yIChpID0gMzI7IGkgPD0gMjEyOyBpKyspCiAgICB7CiAgICAgICAgZmxvYXQgYyA9IHRvQ2Vsc2l1cyhpKTsKICAgICAgICBjID0gcm91bmRmKGMgKiAxMDAuMCkgLyAxMDAuMDsgLy8gcm91bmQgdG8gMiBkZWNpbWFscwogICAgICAgIHByaW50ZigiJTZkXHQlNi4yZlxuIiwgaSwgYyk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0KCmZsb2F0IHRvQ2Vsc2l1cyhpbnQgdGhlRmFocmVuaGVpdFRlbXApCnsKICAgIHJldHVybiAodGhlRmFocmVuaGVpdFRlbXAgLSAzMikgKiA1LjAgLyA5LjA7Cn0KCmZsb2F0IHRvRmFocmVuaGVpdChpbnQgdGhlQ2Vsc2l1c1RlbXApCnsKICAgIHJldHVybiAodGhlQ2Vsc2l1c1RlbXAgKiA5LjAgLyA1LjApICsgMzI7Cn0K