《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超出其上限为止。

相关推荐
wuminyu1 小时前
HotSpot的轻量锁与膨胀后的ObjectMonitor状态重建原理
java·linux·c语言·jvm·c++
CoderYanger1 小时前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
码不停蹄Zzz2 小时前
指针用法篇——malloc和free指针详解
c语言
伞伞悦读2 小时前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
CCCCCCCCharlie2 小时前
Linux进程控制四大核心操作
linux·开发语言
彧azz2 小时前
操作系统时间管理与系统核心板块学习总结
c语言·笔记·学习·系统架构
白色的北极熊3 小时前
c语言 牛客网 BC15
c语言
Brilliantwxx3 小时前
【STM32】 SPI Flash 驱动开发实战:阻塞模式驱动 W25Q64(含工程代码)
开发语言·stm32·单片机·嵌入式硬件
wuyk5553 小时前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
邪修king3 小时前
Re:Linux 系统篇(三十四):进程间通信开篇Chapter1 —— 匿名管道 pipe 深度拆解与代码实战
android·linux·运维·开发语言