C语言程序设计第四次作业——选择结构(2)
(一)改错题
错误信息:
错误原因:缺少半个括号
改正方法:加上
错误信息:
错误原因:if和else后没有加大括号
改正方法:加上
错误信息:
错误原因:if条件后的括号中用了或者关系,应该为并且关系
改正方法:将“||”改为“&&“”
(二)学习总结
1.
(1)例子
。
if(表达式)
{
语句1;
}
else
{
语句2;
}
。。
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else (表达式3)
{
语句3;
}
。。。
switch(表达式)
{
case 常量表达式1:
语句段1;
break;
case 常量表达式2:
语句段2;
break;
default:
语句段n+1;
break;
}
(2)只需判断一个条件时,if语句比较便捷,在判断多个条件时,if...else比if更加简洁,而switch...case与if...else相比,前者不需要一个个去判断,
需要判断哪个语句可以直接跳转到此语句的条件去判断。运行次数减少了。
(3)链接:http://www.cnblogs.com/wankun/p/4989831.html
2.
我认为需要注意的就是char的应用,还有switch后的冒号要空格
(三)实验总结
1.
(1)题目
本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
(2)流程图
(3)源代码
(4)实验分析
问题:没有考虑100的情况
原因:考虑不全面
解决办法:询问同学
(5)提交列表
2..
(1)题目
给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。
输入格式:
输入在一行中顺序给出六个[−100,100]范围内的数字,即三个点的坐标x1、y1、x2、y2、x3、y3。
输出格式:
若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格式为“L = 周长, A = 面积”,输出到小数点后2位。
(2)流程图
(3)源代码
(4)实验分析
问题:没有加取地址符
原因:常犯错误
解决办法:仔细排查后发现并改正
(5)提交列表
多次寻找错误未果后放弃
3...
(1)题目
本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。
输出格式:
当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。
(2)流程图
(3)源代码
(4)实验分析
错误:一开始error在外面输出
原因:未充分理解for语句
解决办法:尝试后改对
(5)提交列表
4....
(1)题目
本题目要求一元二次方程的根,结果保留2位小数。
输入格式:
输入在一行中给出3个浮点系数a、b、c,中间用空格分开。
输出格式:
根据系数情况,输出不同结果:
1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;
2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的;
3)如果方程只有一个根,则直接输出此根;
4)如果系数都为0,则输出"Zero Equation";
5)如果a和b为0,c不为0,则输出"Not An Equation"。
(2)流程图
(3)源代码
(4)实验分析
错误:一开始摸不到头脑
原因:读题出现问题
解决办法:询问同学
(5)提交列表
(四)博客互评
杨若飞:http://www.cnblogs.com/yangruofei/
何强:http://www.cnblogs.com/jjjj1234/p/7772739.html
胡芳浩:http://www.cnblogs.com/hfh0420/