The C Programming Language, 2nd Edition, by Kernighan and Ritchie
Exercise 1.03 on page 13
Modify the temperature conversion program to print a heading above the table.
Solution by Richard Heathfield
#include <stdio.h> int main(void) { float fahr, celsius; int lower, upper, step; lower = 0; upper = 300; step = 20; printf("F C\n\n"); fahr = lower; while(fahr <= upper) { celsius = (5.0 / 9.0) * (fahr - 32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } return 0; }
Solution by sl4y3r 0wn3r
/* Exercise 1-3. Modify the temperature conversion program to print a heading above the table. */ #include <stdio.h> /* print Fahrenheit-Celsius table for fahr = 0, 20, ..., 300; floating-point version */ int main(void) { float fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperature table */ upper = 300; /* upper limit */ step = 20; /* step size */ fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); /* changing the printing format */ printf("%3.0f\t%3.1f\n", fahr, celsius); /* this piece of code has been changed as well */ fahr += step; } printf("Fahr\tCelsius\n"); return 0; }
Output:
0 -17.8 20 -6.7 40 4.4 60 15.6 80 26.7 100 37.8 120 48.9 140 60.0 160 71.1 180 82.2 200 93.3 220 104.4 240 115.6 260 126.7 280 137.8 300 148.9 Fahr Celsius