首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

努力学习,这节练习题比较多

种树的最佳时间是十年前,其次是现在。

学Bug=学霸哥(学霸中的一个Bug)

今天主要做练习,1.9节四个练习题比较多,再加上有了答案习题解答书貌似独立思考的那股劲少了许多,自己想感觉也写不出来,直接配合习题解答来进入学习状态吧。

练习题:

练习1-16 修改打印最长文本行的程序的主程序main,使之可以打印任意长度的输入行的长度,并尽可能多地打印文本。

解答思路:源程序定义了一个符号常量MAXLINE控制文本行最大长度,如果不限制那么就可以打印任意长度的输入行的长度,但根据此思路修改后编译没报错运行提示段错误;尽可能多的打印文本也没怎么理解。

图1.练习1-16习题解答

习题解答:演示结果及源代码如上图1,参考《C程序设计语言习题解答 原书第2版》。这个程序演示结果好像不符合问题要求,特意打了超过一千个字符,复制出来的并不完整,小于1000,为什么图中只有998个c,因为最后还加入了一个空白字符,所以是999小于1000。习题解答中也并没有去掉字符常量MAXLINE,是理解错了题目要求吗?这个答案是否正确学Bug持保留态度。

练习1-17 编写一个程序,打印长度大于80个字符的所有输入行。

解答思路:题目意图很清晰,打印输出大于80个字符的所有行。

图2.练习1-17习题解答

习题解答:演示结果及源代码如上图2,参考《C程序设计语言习题解答 原书第2版》。演示结果与想象的思路有一点出入,以为是任意输入多行之后按条件输出大于80个字符的行,但结果是输入行只要大于80字符回车就直接打印了出来。超过1000字符的还是没有完全输出。

练习1-18 编写一个程序,删除每个输入行末尾的空格及制表符,并删除完全是空格的行。

习题解答:演示结果及源代码如下图3,参考《C程序设计语言习题解答 原书第2版》。演示效果并不明显,因为是去除末尾的空白字符。这里的remove函数与之前的getline函数一样提示“类型冲突”错误,改为remove2后正常编译运行。

图3.练习1-18 习题解答

还一个练习没有抄完,今天唯一收获可能仅仅就是练练编程手感,学习情绪低落没有理解,对答案的效果总体也并不是很满意。明天继续吧。

加油!

坚持!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180108G0ZZQX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券