#include <stdio.h>
/*
* Function: toCelsius
* -------------------
* Converts a temperature from Fahrenheit to Celsius.
*
* Formula: C = (5/9) * (F - 32)
*
* f: temperature in Fahrenheit
* returns: equivalent temperature in Celsius
*/
double toCelsius(double f)
{
return (5.0 / 9.0) * (f - 32.0);
}
/*
* Function: toFahrenheit
* ----------------------
* Converts a temperature from Celsius to Fahrenheit.
*
* Formula: F = (9/5) * C + 32
*
* c: temperature in Celsius
* returns: equivalent temperature in Fahrenheit
*/
double toFahrenheit(double c)
{
return (9.0 / 5.0) * c + 32.0;
}
/*
* Function: main
* --------------
* Prints two tables:
* 1. Celsius (0–100) to Fahrenheit
* 2. Fahrenheit (32–212) to Celsius
*
* Output is formatted in neat columns.
*/
int main(void)
{
int i;
/* ---- Celsius to Fahrenheit Table ---- */
printf("Celsius to Fahrenheit Conversion Table\n"); printf("--------------------------------------\n"); printf("%-10s %-12s\n", "Celsius", "Fahrenheit");
for (i = 0; i <= 100; i++)
{
printf("%-10d %-12.1f\n", i
, toFahrenheit
(i
)); }
printf("\n"); // spacing between tables
/* ---- Fahrenheit to Celsius Table ---- */
printf("Fahrenheit to Celsius Conversion Table\n"); printf("--------------------------------------\n"); printf("%-12s %-10s\n", "Fahrenheit", "Celsius");
for (i = 32; i <= 212; i++)
{
printf("%-12d %-10.2f\n", i
, toCelsius
(i
)); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovKgogKiBGdW5jdGlvbjogdG9DZWxzaXVzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0KICogQ29udmVydHMgYSB0ZW1wZXJhdHVyZSBmcm9tIEZhaHJlbmhlaXQgdG8gQ2Vsc2l1cy4KICoKICogRm9ybXVsYTogQyA9ICg1LzkpICogKEYgLSAzMikKICoKICogZjogdGVtcGVyYXR1cmUgaW4gRmFocmVuaGVpdAogKiByZXR1cm5zOiBlcXVpdmFsZW50IHRlbXBlcmF0dXJlIGluIENlbHNpdXMKICovCmRvdWJsZSB0b0NlbHNpdXMoZG91YmxlIGYpCnsKICAgIHJldHVybiAoNS4wIC8gOS4wKSAqIChmIC0gMzIuMCk7Cn0KCi8qCiAqIEZ1bmN0aW9uOiB0b0ZhaHJlbmhlaXQKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKiBDb252ZXJ0cyBhIHRlbXBlcmF0dXJlIGZyb20gQ2Vsc2l1cyB0byBGYWhyZW5oZWl0LgogKgogKiBGb3JtdWxhOiBGID0gKDkvNSkgKiBDICsgMzIKICoKICogYzogdGVtcGVyYXR1cmUgaW4gQ2Vsc2l1cwogKiByZXR1cm5zOiBlcXVpdmFsZW50IHRlbXBlcmF0dXJlIGluIEZhaHJlbmhlaXQKICovCmRvdWJsZSB0b0ZhaHJlbmhlaXQoZG91YmxlIGMpCnsKICAgIHJldHVybiAoOS4wIC8gNS4wKSAqIGMgKyAzMi4wOwp9CgovKgogKiBGdW5jdGlvbjogbWFpbgogKiAtLS0tLS0tLS0tLS0tLQogKiBQcmludHMgdHdvIHRhYmxlczoKICogMS4gQ2Vsc2l1cyAoMOKAkzEwMCkgdG8gRmFocmVuaGVpdAogKiAyLiBGYWhyZW5oZWl0ICgzMuKAkzIxMikgdG8gQ2Vsc2l1cwogKgogKiBPdXRwdXQgaXMgZm9ybWF0dGVkIGluIG5lYXQgY29sdW1ucy4KICovCmludCBtYWluKHZvaWQpCnsKICAgIGludCBpOwoKICAgIC8qIC0tLS0gQ2Vsc2l1cyB0byBGYWhyZW5oZWl0IFRhYmxlIC0tLS0gKi8KICAgIHByaW50ZigiQ2Vsc2l1cyB0byBGYWhyZW5oZWl0IENvbnZlcnNpb24gVGFibGVcbiIpOwogICAgcHJpbnRmKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CiAgICBwcmludGYoIiUtMTBzICUtMTJzXG4iLCAiQ2Vsc2l1cyIsICJGYWhyZW5oZWl0Iik7CgogICAgZm9yIChpID0gMDsgaSA8PSAxMDA7IGkrKykKICAgIHsKICAgICAgICBwcmludGYoIiUtMTBkICUtMTIuMWZcbiIsIGksIHRvRmFocmVuaGVpdChpKSk7CiAgICB9CgogICAgcHJpbnRmKCJcbiIpOyAgLy8gc3BhY2luZyBiZXR3ZWVuIHRhYmxlcwoKICAgIC8qIC0tLS0gRmFocmVuaGVpdCB0byBDZWxzaXVzIFRhYmxlIC0tLS0gKi8KICAgIHByaW50ZigiRmFocmVuaGVpdCB0byBDZWxzaXVzIENvbnZlcnNpb24gVGFibGVcbiIpOwogICAgcHJpbnRmKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CiAgICBwcmludGYoIiUtMTJzICUtMTBzXG4iLCAiRmFocmVuaGVpdCIsICJDZWxzaXVzIik7CgogICAgZm9yIChpID0gMzI7IGkgPD0gMjEyOyBpKyspCiAgICB7CiAgICAgICAgcHJpbnRmKCIlLTEyZCAlLTEwLjJmXG4iLCBpLCB0b0NlbHNpdXMoaSkpOwogICAgfQoKICAgIHJldHVybiAwOwp9