|
|
1.1 root 1: #print
2: (Section 1.3)
3: The file Ref.c contains a copy of
4: a program to convert Fahrenheit to
5: Celsius that prints from 0 to 300
6: degrees in steps of 20.
7: Modify it to print from 300 down to 0
8: in steps of 50. Type ready when you're done.
9: #once #create Ref
10: 300 148.9
11: 250 121.1
12: 200 93.3
13: 150 65.6
14: 100 37.8
15: 50 10.0
16: 0 -17.8
17: #once #create Ref.c
18: /* print Fahrenheit-Celsius table
19: for f = 0, 20, ..., 300 */
20: main()
21: {
22: int lower, upper, step;
23: float fahr, celsius;
24:
25: lower = 0; /* lower limit of temperature table */
26: upper = 300; /* upper limit */
27: step = 20; /* step size */
28:
29: fahr = lower;
30: while (fahr <= upper) {
31: celsius = (5.0/9.0) * (fahr-32.0);
32: printf("%4.0f %6.1f\n", fahr, celsius);
33: fahr = fahr + step;
34: }
35: }
36: #user
37: a.out >x
38: #cmp Ref x
39: #succeed
40: Here's our solution:
41:
42: main() /* Fahrenheit-Celsius 300 ... 0 by 50 */
43: {
44: int lower, upper, step;
45: float fahr;
46:
47: lower = 0; /* lower limit of temperature table */
48: upper = 300; /* upper limit */
49: step = 50; /* step size */
50:
51: for (fahr = upper; fahr >= lower; fahr = fahr - step)
52: printf("%4.0f %6.1f\n", fahr, (5.0/9.0) * (fahr-32.0));
53: }
54: #log
55: #next
56: 3.1b 10
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.