1、习题5.3 29习题5.4 30习题5.5 32第6章 字符串和文本的应用 34习题6.1 34习题6.2 41习题6.3 43习题6.4 44第7章 指针 47习题7.1 47习题7.2 49习题7.3 51习题7.4 52第8章 程序的结构 54习题8.1 54习题8.2 55习题8.3 57习题8.4 60第9章 函数再探 65习题9.1 65习题9.2 66习题9.3 69习题9.4 71第10章 基本输入输出操作 72习题10.1 72习题10.2 73习题10.3 75习题10.4 76第11章 结构化数据 78习题11.1 78习题11.2 82习题11.3 86习题11.4 9
2、0习题11.5 95第12章 处理文件 99习题12.1 99习题12.2 100习题12.3 103习题12.4 105第13章 支持功能 110习题13.1 110习题13.2 111习题13.3 112C语言入门经典(第4版)课后练习参考答案第1章 C语言编程练习1.1 编写一个程序,用两个printf()语句分别输出自己的名字和地址。#include int main(void) printf(姓名:小狮子n);地址:月亮之上n return 0;练习1.2 将上一个练习修改成所有的输出只用一个printf()语句。小狮子n地址:练习1.3 编写一个程序,输出下列文本,格式如下所示:I
3、ts freezing in here, he said coldly.s freezing in here, he said coldly.n第2章 编程初步习题2.1 编写一个程序,提示用户用英寸输入一个距离,然后将该距离值输出为码、英尺和英寸的形式。/* * 1码=3英尺=36英寸 */int main() float len_inch = 0.0f; / 英寸 float len_foot = 0.0f; / 英尺 float len_yard = 0.0f; / 码 / 提示用户用英寸输入一个距离请用英寸输入一个距离: scanf(%f, &len_inch); / 计算英尺 len
4、_foot = len_inch / 12; / 计算码 len_yard = len_foot / 3; / 输出计算后的结果%.2f英寸 = %.2f英尺 = %.2f码n, len_inch, len_foot, len_yard);习题2.2 编写一个程序,提示用户用英尺和英寸输入一个房间的长和宽,然后计算并输出面积,单位是平方码,精度为小数点后两位数。 float length_in_foot = 0.0f; / 房间的宽度 单位英尺 float width_in_inch = 0.0f; / 房间的宽度 单位英寸 float area_in_yard = 0.0f; / 房间的面积
5、 单位平方码 / 提示用户输入房间的长度请输入房间的长度(单位:foot):length_in_foot); / 提示用户输入房间的宽度请输入房间的宽度(单位:inch):width_in_inch); / 计算房间的面积 1码=3英尺=36英寸 area_in_yard = (length_in_foot / 3) * (width_in_inch / 36); / 输出房间的面积房间的面积是:%.2f平方码。n, area_in_yard);习题2.3 一个产品有两个版本:其一是标准版,价格是$3.5,其二是豪华版,价格是$5.5。编写一个程序,使用学到的知识提示用户输入产品的版本和数量,
6、然后根据输入的产品数量,计算并输出价格。 float price_of_normal = 3.5; / 普通版单价 float price_of_deluxe = 5.5f; / 豪华版单价 int number_of_normal = 0; / 普通版的数量 int number_of_deluxe = 0; / 豪华版的数量 float total_price = 0.0f; / 总价 / 提示用户输入产品的数量请输入普通版的数量:%dnumber_of_normal);请输入豪华版的数量:number_of_deluxe); / 计算总价 total_price = number_of_
7、normal * price_of_normal + number_of_deluxe + price_of_deluxe; / 输出总价总价为:$%.2fn, total_price);习题2.4 编写一个程序,提示用户从键盘输入一个星期的薪水(以美元为单位)和工作时数,它们均为浮点数,然后计算并输出每个小时的平均时薪,输出格式如下所示:Your average hourly pay rate is 7 dollars and 54 cents. float salary = 0.0f; / 一个星期的薪水(以美元为单位) float hours = 0.0f; / 工作时数 float s
8、alary_per_hour = 0.0f; / 每个小时的平均时薪 / 提示用户输入一个星期的薪水请输入一个星期的薪水(以美元为单位):salary); / 提示用户输入工作时数请输入工作时数:hours); / 计算每个小时的平均时薪 salary_per_hour = salary / hours; / 输出结果Your average hourly pay rate is %d dollars and %d cents.n, (int)salary_per_hour, (int)(salary_per_hour * 100) % 100);第3章 条件判断习题3.1 编写一个程序,首先
9、给用户以下两种选择:(1)将温度从摄氏度转换为华氏度。(2)将温度从华氏度转换为摄氏度。接着,程序提示用户输入温度值,并输出转换后的数值。从摄氏度转换为华氏度,可以乘以 1.8 再加上 32。从华氏度转换为摄氏度,可以先减去 32 后,再乘以 5,除以 9。ctype.h float temperature = 0.0f; / 用户输入的温度值 char ch = 0; float result = 0.0f; / 转换后的温度值 / 提示用户都有哪种转换方式程序提供如下两种转换方式: A. 将温度从摄氏度转换为华氏度n B. 将温度从华氏度转换为摄氏度n / 提示用户输入选择的转换方式请选择
10、转换方式(A or B):%cch); if (tolower(ch) = a) 请输入温度值:temperature); result = temperature * 1.8 + 32;%.2f摄氏度 = %.2f华氏度n, temperature, result); else if (tolower(ch) = b result = (temperature - 32) * 5 / 9;%.2f华氏度 = %.2f摄氏度n else选择错误n习题3.2 编写一个程序,提示用户输入3个整数值,分别代表月、日、年。例如用户输入了12、31、2003,程序就以31st December 2003
11、 的格式输出该日期。必须在日期值的后面加上th、nd、st 和 rd。例如1st、2nd、3rd、4th、11th、12th、13th、14th、21st、22nd、23rd、24th。 int year = 0; int month = 0; int day = 0; / 定义一个代表12个月份的枚举类型,枚举器值从1开始 enum Month January = 1, February, March, April, May, June, July, August, September, October, November, December ; / 提示用户输入月、日、年请输入月、日、年:%d%d%dmonth, &day, &year); / 输出日 if (day 31)输入日期有误 else if (day % 10 = 1 & day != 11)%dst , day); else if
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1