《C程序设计语言》第二版 Exercise1-3

本文介绍如何修改C程序设计语言第二版中Exercise1-3的温度转换程序,添加列标题。根据题意,分别设置了华氏度(Fahr)和摄氏度(Celsius)的列宽,并在输出时使用tab键分隔,以达到标题对齐的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Exercise 1-3. Modify the temperature conversion program to print a heading above the table.

习题要求我们给华氏-摄氏温度转换表增加一个heading。

笔者不清楚作者的意思是让读者增加一个“华氏-摄氏转换表”这样的图表标题,还是给表的每一列再列顶端加上列标题。笔者索性就按照后者来进行解题。

当然了,如果是第一种情况,只需要在 main() 函数进入循环之前添加下面的语句即可:

printf("Fahr-Celsius Table\n");

对于后一种情况,我们给华氏度那一列命名为 Fahr ,给摄氏度那一列命名为 Celsius 。考虑到标题和列的内容需要对其,对于华氏度那一列,Fahr 一共是4个字符,温度则是由1-3个字符组成,所以需要控制华氏度输出的格式宽度(笔者设置为4)。同理摄氏度那一列也需要考虑,Celsius 一共是7个字符,所以笔者控制摄氏度输出格式宽度为7,并且小数点后有1位小数。然后华氏度和摄氏度之间用 tab 隔开(列标题也要记得隔开)。

完整代码如下:

main() {
    float fahr, celsius;
    float lower, upper, step;

    lower = 0;
    upper = 300;
    step = 20;

    fahr = lower;

    printf("Fahr\tCelsius\n");
    
    while (fahr <= upper) {
        celsius = (5.0 / 9.0) * (fahr - 32.0);
        printf("%4.0f\t%7.1f\n", fahr, celsius);
        fahr = fahr + step;
    }
}

编译运行后结果如下:

> ./Exercise1_3 
Fahr    Celsius
   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

对了,在这里笔者给初学者推荐一个好用的在线IDE:replit

它的基础版本是免费的,支持很多的编程语言,十分好用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值