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

练习1-3 修改温度转换程序,使之能在转换表的顶部打印一个标题。

ChapterOneExerciseThreeOne.cpp

cpp 复制代码
#include <stdio.h>
/* print Fahrenheit-Celsius table
	for fahr = 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("Fahr  Celsius\n");
	while(fahr <= upper){
		celsius = (5.0 / 9.0) * (fahr-32.0);
		printf("%3.0f  %6.1f\n", fahr, celsius);
		fahr = fahr + step;
	}
}

在循环语句之前增加的printf("Fahr Celsius\n");语句将在温度转换表的顶部产生一个表头。为了让输出内容与这个表头对齐,我们还在%3.0f和%6.1r之间增加了两个空格。上面这个程序中的其余语句与K&R原著第12页中给出的代码完全一致。

相关推荐
C语言小火车43 分钟前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
北冥you鱼44 分钟前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
ALex_zry2 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
Zw-awa2 小时前
01-写了include之后到底发生了什么
c语言
她说..2 小时前
Java 默认值设置方式
java·开发语言·后端·springboot
忧郁的紫菜3 小时前
基础实现:单篇 Markdown 转 Word
开发语言·c#·word
甜美的小天鹅3 小时前
Swifter C#之inline还是不inline,这是个问题
开发语言·c#
小短腿的代码世界3 小时前
Qt Bluetooth源码深度解析:从HCI协议到跨平台API的完整架构
开发语言·qt·架构
北冥you鱼3 小时前
Go 语言读取链上数据:从基础到实战
开发语言·后端·golang
nianniannnn3 小时前
c++复习自存--继承
开发语言·c++