作业要求【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293】
第三次作业(条件)题目7-3 分段计算居民水费
1.实验代码:
#include<stdio.h> int main() { int x; float y; scanf("%d", &x); if(x <= 15){ y = 4.0 * x / 3.0; } else{ y = 2.5 * x - 17.5; } printf("%.2f", y); return 0; }
2.解题思路:
(1)
第一步:首先,定义一个整数变量x(月用水量)和一个浮点型变量y(居民应交水费);
第二步:再输入当月用水量x;
第三步:如果月用水量小于15吨,那就将输入的值代入y = 4.0 * x / 3.0,得到居民应交水费y的值,否则就带入y = 2.5 * x - 17.5,得到居民应交水费y的值;
第四步: 通过选择,最后输出居民应交水费y的值。
(2)流程图:
3.题目遇到的问题及方法:
运行结果截图:
错误调试截图:
3.题目遇到的问题及解决方法:
在输入时我忘记了在x前面加&,导致提交时错误,慢慢静下心看pta的错误提示,发现自己忘了加&,再次提交就通过了,并且为了不再犯这个小错误,每次打输入的代码时我都会慢一点。
第四次作业(条件)题目7-2 高速公路超速处罚
1.实验代码:
#include<stdio.h> int main(){ double a,b,x; scanf("%lf %lf", &a,&b); x=100*(a-b)/b; if(x < 10){ printf("OK");} else if(x < 50){ printf("Exceed %.0f%%. Ticket 200 ", x); } else if(x >= 50){ printf("Exceed %.0f%%. License Revoked ", x); } return 0; }
2.解题思路:
(1)
第一步:首先,定义三个浮点型量a(车速),b(限速),x(超出限速的百分数);
第二步:再输入两个数分别作为a(车速),b(限速)的值;
第三步:根据计算公式x=100*(a-b)/b,得出超出限速的百分数;
第四步:如果x小于15,那就属于正常行驶,就输出OK;不小于15的话,如果x小于50,则应处罚款,输出Exceed x%. Ticket 200,输出罚款数;
以上两个都不符合时,则应吊销驾驶证,输出Exceed x%. License Revoked;
第五步: 通过判断选择,得出最后的处理方案。
(2)流程图:
3.题目遇到的问题及解决方法:
运行结果截图:
错误调试截图:
3.题目遇到的问题及解决方法:
在做这道题时,我首先在de-c++上运行运行了许多次,因为对if-else嵌套语句的不熟悉,{} 经常用错了,不是 } 多了,就是 {少了,编译时一直都是错的,不过,通过中国大学慕课网上翁恺老师的c语言程序设计课程的学习,慢慢的我也理解了if-else嵌套语句,通过找每一个{都会与}对应,最后解决了这个问题。
4.个人总结:
(1)本周学习内容与收获
本周通过课上和课下的学习,我主要学习了分支结构的if语句,嵌套的if-else,还有switch语句和for语句-循环语句;收获最大的是学会了for语句,因为for语句是我们平时用的特别多的一个语句,而其使用for语句也可以使我们少打许多的代码,同时运用条件语句可以处理那些需要判断的问题,使我们的编译更加简洁。
(2)难点与措施
学习过程中遇到的第一个难点是嵌套的if-else的使用,各种 { 和 } 找对应的有点困难,不过在自己的耐心观察下,还是解决了这个问题;第二个难点是switch语句的break的使用,经常忘记在语句段后面加break,导致pta的作业一直通过不了,在询问同学和上网查阅之后,知道了break的含义,解决了这个问题;第三个难点是for语句中的那三个表达式在运行中的先后顺序问题,在问过同学们后,理解了它的运行顺序,解决了这个问题。
5.统计图表:
6.点评:
(1)【https://www.cnblogs.com/wangxiangbo/p/9903569.html】
(2)【https://www.cnblogs.com/yangzhenghui/p/9900452.html】
(3)【https://www.cnblogs.com/zduangduang/p/9908232.html】
---恢复内容结束---