C Primer Plus 第十二章编程练习解析与解答
需积分: 28 146 浏览量
更新于2024-09-11
2
收藏 22KB DOCX 举报
"《C Primer Plus》第六版的第十二章编程练习提供了两个示例程序,分别涉及到循环控制和用户输入验证以及不同单位之间的转换。第一个程序是一个简单的猜数字游戏,用户需要猜一个预设的数值,直到猜对为止。第二个程序是一个模式设置功能,允许用户输入行驶距离和消耗燃料的信息,并根据英里或公里、升或加仑的不同单位进行输入和显示。"
在第一个程序中,我们看到一个名为`critic()`的函数,它在用户猜错数字时提供反馈并提示用户再次尝试。主函数`main()`使用了一个`while`循环来实现游戏逻辑,循环会持续执行直到用户猜对预设的数值(这里是56)。`scanf()`函数用于获取用户的输入,`getchar()`确保所有输入都被处理,防止缓冲区残留未读字符。
第二个程序分为三个部分:`set_mode()`, `get_info()`, 和 `show_info()`。`set_mode()`函数接收一个整型参数`m`,表示用户选择的单位模式,即英制(1)或公制(0)。如果输入的模式无效,函数会将其设置为默认的英制模式。`get_info()`函数根据选定的模式获取行驶距离和燃料消耗的信息,使用`scanf()`读取浮点数。最后,`show_info()`函数会依据当前模式显示相应的单位信息,例如,如果处于公制模式(0),则会将单位转换为公里和升。
这两个程序展示了C语言的基本元素,如函数定义和调用、循环控制、条件语句、输入输出操作以及简单的错误处理。它们也涉及到了面向用户交互的编程实践,如用户输入验证和反馈,以及根据用户需求进行数据处理的灵活性。通过解决这类编程练习,读者可以提高对C语言控制结构和函数的理解,以及编写更复杂程序的能力。
2019-07-24 上传
2016-11-19 上传
点击了解资源详情
2018-11-06 上传
2016-04-12 上传
点击了解资源详情
2018-01-22 上传
2024-07-18 上传
118 浏览量
一棹烟波
- 粉丝: 53
- 资源: 11
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析