C语言程序设计第四次作业——选择结构(2)
(一)改错题
错误信息:
错误原因:算式少了右括号
改正方法:添加右括号
错误信息:
错误原因:if语句没有大括号
改正方法: 加上大括号。
运行结果1:
运行结果二错误。
错误信息:
错误原因:if语句条件错误
改正方法:将“||”都改为“&&”。
运行结果2:
(二)学习总结
1.在编程解决问题的过程中,我们会用到多个以及if语句,if...else if... 语句switch语句,查阅资料,总结一下这三种情况的区别何在,并分别举例加以说明。
1、if
在只需要判断一个条件的时候,自然是使用if语句方便有效,但是当判断条件很多的时候,我们可以使用多个if语句或者if...else if语句或者switch case语句。
2、if-else
只是单纯地一个接一个比较;if...else每个条件都计算一遍;
举例:
3、switch
编译器编译switch与编译if...else...不同。不管有多少case,都直接跳转,不需逐个比较查询。效率会高于使用if...else if语句。
参考链接:http://www.cnblogs.com/wankun/p/4989831.html
举例:
2.对其他你认为需要进行总结的内容进行总结。
要熟悉各种语句的运用与区别,知己知彼才能百战百胜;记住表达式中字符的的表达方式.解决输入字符空格的问题,在输入时%c前加一个空格,读走多余的回车符。4
(三)实验总
(1)题目
本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
(2)流程图
(3)源代码
(4)实验分析:没有问题
(5)本题PTA提交列表:
5.三角形判断
(1)题目:给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。
(2)流程图:
(3)源代码:
(4)实验分析:
问题1.S=(double)(a+b+c)/2语句中必须用double
原因:若a+b+c为奇数则S为小数
解决方法:检查发现只有在a+b+c为偶数时才成立,加上double都奇数也正确
问题2:不清楚如何利用点坐标来算长度
原因:第一次接触这样的题不太明白
解决办法:问老师和助教,了解运算公式和步骤
(5)本题PTA提交列表:
7.简单的计算器
(1)题目:本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。
输出格式:
当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR.
(2)流程图
(3)源代码:
(4)实验分析
无问题
(5)本题PTA提交列表
9、求一元二次方程的根
(1)题目:本题目要求一元二次方程的根,结果保留2位小数。
(2)流程图
(3)源代码
(4)实验分析:
问题:输出结果总是部分正确。
原因:没有考虑清楚纯虚根的情况。
解决办法:纯虚根的情况,即有虚根的时候,如果实部为0,则实部应该输出0.00.然后输出虚部,不能只输出虚部而没有实部的内容。
(5)本题PTA提交列表
(四)博客互评
http://www.cnblogs.com/moying456/p/7770919.html
http://www.cnblogs.com/lrxlrz/p/7763680.html
http://www.cnblogs.com/fkh1/p/7774050.html