《C程序设计语言》练习答案(练习1-4)

练习1-4 编写一个程序打印摄氏温度转换为相应华氏温度的转换表。

ChapterOneExerciseFourOne.cpp

cpp 复制代码
#include <stdio.h>
/* print Celsius-Fahrenheit table
   for celsius = 0, 20, ..., 300; floating-point version */
main()
{
	float fahr, celsius;
	int lower, upper, step;
	
	lower = 0; /* lower limit of temperature table */
	upper = 300; /* upper limit */
	step = 20; /* step size */
	
	printf("Celsius  Fahr\n");
	celsius = lower;
	while(celsius <= upper){
		fahr = (9.0*celsius) / 5.0 + 32.0;
		printf("%3.0f  %6.1f\n", celsius, fahr);
		celsius = celsius + step;
	}
}

本程序将输出一个摄氏温度(0~300)到华氏温度的转换表。华氏温度是用以下语句计算得到的:

cpp 复制代码
fahr = (9.0*celsius) / 5.0 + 32.0;

本题的解题思路与打印华氏温度到摄氏温度的对照表程序(见K&R原著第12页)是相同的。整型变量lower、upper、step分别对应变量celsius的下限、上限、步长。程序先把变量celsius初始化为它的下限,再在while循环中把对应的华氏温度计算出来。然后,程序打印出这组摄氏温度和华氏温度的值,并按步长递增变量celsius的值。while循环将一直执行,直到变量celsius超出其上限为止。

相关推荐
Byte Wizard1 分钟前
C语言数据在内存中的存储
c语言·开发语言
basketball6163 分钟前
C++面试考点 头文件与实现文件形式
开发语言·c++
SilentSamsara4 分钟前
类型注解进阶:Union、Optional、Any 与 Callable
开发语言·python·青少年编程
历程里程碑4 分钟前
56 . 高效ET非阻塞IO服务器设计指南
java·运维·服务器·开发语言·数据结构·c++·排序算法
恣艺9 分钟前
Python 游戏开发与文件处理:PyGame + Turtle + openpyxl + python-docx + PyPDF2
开发语言·python·pygame
高林雨露16 分钟前
kotlin 相关code
开发语言·kotlin
我还记得那天19 分钟前
函数的递归调用
c语言·开发语言·visualstudio
zhangfeng113320 分钟前
ThinkPHP5 事件系统的标准最佳实践 事件系统的完整设计逻辑tags.php tags.php(事件地图)
android·开发语言·php
xyq202423 分钟前
HTML 标签简写及全称
开发语言
tongluowan00724 分钟前
数据结构 Bitmap(位图)示例 - 用户签到系统
开发语言·数据结构·bitmap·用户签到系统