C语言程序设计第四次作业——选择结构(2)
(一)改错题
1、题目:
输出三角形的面积和周长,输入三角形的三条边a、b、c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数);否则,输出“These sides do not correspond to a valid triangle”。
(1) 错误信息:
错误原因:sqrt语句缺少半个括号
改正方法:在最后分号前加右半边括号
(2) 错误信息:else语句没有配对的if语句
错误原因:if语句下边没有加大括号
改正方法:把if语句和else语句中间的条件用大括号括起来
(3) 错误信息:
错误原因:if语句条件错误
改正方法:把||符号改成&&
(二)学习总结
1、题目
在编程解决问题的过程中,我们会用到多个if语句,if...else if... 语句以及switch语句,查阅资料,总结一下这三种情况的区别何在,并分别举例加以说明。禁止大段复制,要自己对资料进行归纳总结,并给出你参考的资料链接。
当我们只需判断一个条件时,if语句更简单快捷;当需要判断多个语句时,if...if else语句在判断满足任何一个条件时就会输出,而多个if语句会对每一个条件都进行判断,会大大增加运算次数,降低效率,switch语句和if...if else语句相比运算更简单,效率更高
资料链接:http://www.cnblogs.com/wankun/p/4989831.html
2、题目
对其他你认为需要进行总结的内容进行总结。
(1)一般情况下switch语句的break是不能少的,没有break,程序会继续执行后面的代码,导致程序出现问题,而default语句是可选的。
(2)case 的值必须是常量表达式,不允许使用变量。
(3)如果一个 case 子句为空,就可以从这个 case 跳到下一个 case 上,这样可以用相同的方式处理两个或多个 case 子句
(三)实验总结
2、
(1)题目
本题要求将输入的任意3个整数从小到大输出。
(2)流程图
(3)源代码
(4)实验分析
问题:提交显示部分错误
原因:输出格式与要求不符
解决办法:改成%d->%d->%d格式输出
4、
(1)题目
按照规定,在高速公路上行使的机动车,超出本车道限速的10%则处200元罚款;若超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
(2)流程图
(3)源代码
(4)实验分析
这道题没有问题
6、
(1)题目
现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。
本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。
(2)流程图
(3)源代码
(4)实验分析
问题1:输出结果错误
原因:开始没有加char c,后面直接输出
解决办法:在声明变量后加char c
问题2:case格式输入错误
原因:case后没有加空格,也没有单引号
解决办法:在case后补上空格和单引号、
8、
(1)题目
编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。
(2)流程图
(3)源代码
(4)实验分析
问题1:if语句格式错误
原因:只写了一个等于号
解决办法:在a==o处用双等于号
问题2:输出格式不正确
原因:%d%d中间应该用冒号连接
解决办法:在%d%d中间加上冒号
(四)互相评价
郭zx:http://www.cnblogs.com/1234569ss/p/7754274.html
范凯华:http://www.cnblogs.com/fkh1/p/7774050.html
许天笑:http://www.cnblogs.com/snxtx/p/7763856.html