C语言入门教程-示例:编写能够打印华氏-摄氏温度转换表的程序

示例:编写能够打印华氏-摄氏温度转换表的程序
假设您要编写一个能够打印华氏-摄氏温度转换表的程序。可以使用for或者while循环可以轻松实现:
#include
int main()
{int a;a=0;while (a <=100)
{printf(%4d华氏度=%4d摄氏度\n,a,(a -32.0)*5.0/9.0);a =a+10;}
return 0;}
该程序运行后将打印从华氏0度到华氏100度的转换表。输出如下:
0华氏度=-17摄氏度
10华氏度=-12摄氏度
20华氏度=-6摄氏度
30华氏度=-1摄氏度
40华氏度=4摄氏度
50华氏度=10摄氏度
60华氏度=15摄氏度
70华氏度=21摄氏度
80华氏度=26摄氏度
90华氏度=32摄氏度
100华氏度=37摄氏度
上表中温度值以10度为间隔递增。您会发现通过程序改变表中温度的起始值、结束值和递增值都很容易。
如果想让温度值更加精确的话,您可以改用浮点数值:
#include
int main()
{float a;a = 0;while (a <= 100)
{printf(%6.2f 华氏度 = %6.2f 摄氏度\n,a, (a - 32.0) * 5.0 / 9.0);a = a + 10;}
return 0;}
如上例所示,a的声明改用float,而且在printf语句中用符号%f代替了符号%d。此外,还在符号%f前规定了一些格式:打印数值时使用6位整数和2位小数。
现在我们要修改程序,使它在适当的位置插入98.6度。即,我们还是每隔10度打印,但是要增加一行98.6华氏度,因为它是人体的正常体温。下面的程序会满足我们的要求:
#include
int main()
{float a;a = 0;while (a 98.6)
{printf(%6.2f 华氏度 = %6.2f 摄氏度\n,98.6, (98.6 - 32.0) * 5.0 / 9.0);}
printf(%6.2f 华氏度 = %6.2f 摄氏度\n,a, (a - 32.0) * 5.0 / 9.0);
a = a + 10;}return 0;}
结束值是100时,上面的程序可以正常工作。但如果将结束值变成200,您就会发现程序的一处错误:打印了太多次98.6度。我们可以用多种方法改正这个错误。下面是其中之一:
#include
int main()
{float a, b;a = 0;b = -1;while (a 98.6) && (b < 98.6))
{printf(%6.2f 华氏度 = %6.2f 摄氏度\n,98.6, (98.6 - 32.0) * 5.0 / 9.0);
}printf(%6.2f 华氏度 = %6.2f 摄氏度\n,a, (a - 32.0) * 5.0 / 9.0);b = a;a = a + 10;}
return 0;}
动手一试
尝试修改华氏-摄氏度转换程序,以使该程序使用scanf接受用户输入,作为结果输出表格的起始、结束和增量值。
为表格制作表头。
试用另一种方法解决上例的程序改正的错误。
制作一个英镑-千克或英里-公里的转换表。
c 常见错误
在if或while语句中错用=代替==。
忘记在while循环中增加计数器的值——这会导致无限循环(永不结束的循环)。
不留神在for循环或if语句末尾加上了分号,使语句起不了作用。例如:
for (x=1; x<10; x++);
printf(%d\n,x);
只打印出一个值,因为for

充分挖掘SiC FET的性能
意念控制无人机,这是脑洞还是现实
苹果的带头作用:2020年将有过半智能机搭载OLED屏幕
世强汽车电子事业部崭露头角,获瑞萨电子多项嘉奖
首款民用物流无人机及相关无人机产品
C语言入门教程-示例:编写能够打印华氏-摄氏温度转换表的程序
轨道交通机器人 保障轨交运营安全和稳定性
消息队列的发展历史
时代呼唤中带来的屏幕技术
采用FLIR GF320红外热像仪检测沼气设施中的气体泄漏
strlen和sizeof的异同
提升锂离子电池比能量的途径:微孔铜箔铝箔优势与控制要点
升压控制器构成负降压稳压器
高级LED效果灯的电容式感应是如何设计的
快递行业“分拣机器人”自动化发展的新趋势
实现筋膜枪“突突突”简单粗暴的工作原理到底是什么?
3d扫描仪三维扫描仪技大空间矿山地下矿区采用新型三维扫描方式
人工智能数据资源服务商海天瑞声发布2021年报
制造业ERP系统生产物料管理有何利弊?功能有哪些?
C语言的表达式