作业要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292
第三次作业:7-3 分段计算居民水费
# include <stdio.h> int main(void) { double x,y; scanf("%lf",&x); if(x<=15){ y = 4*x/3; } else{ y = 2.5*x-17.5; } printf("%.2f ",y); system("pause"); return 0; }
解题思路:
1.定义两个双浮点型变量:x,y
2.如果x<=15,进行y=4*x/3
如果x>15,进行y=2.5*x-17.5
3.输出y,两位小数的精度
流程图:
运行结果:
输入了一个[0,15]区间的数字,输入结果却是0;
后来通过流程图我发现,x<0那一步是多余的,然后把那一步去掉了:
输出结果还是0;然后开始进行调试,因为在[0,15]区间的计算出了问题,所以在那里设置了断点:
通过调试,发现不是那里的问题,然后我询问了同学,他说scanf里不用加.2,然后我把.2去掉了然后运行:
然后得出了正确答案。
第四次作业:7-1计算个人所得税
#include <stdio.h> int main () { int x; double y; scanf("%d",&x); if(x <= 1600){ y = 0; } else if(x > 1600 && x <= 2500){ y = 0.05 * (x - 1600); } else if(x > 2500 && x <= 3500){ y = 0.10 * (x - 1600); } else if(x > 3500 && x <= 4500){ y = 0.15 * (x - 1600); } else if(x > 4500){ y = 0.20*(x - 1600); } printf("%.2f ",y); return 0; }
解题思路:
1.定义整型变量x,和双浮点型变量y
2.根据题目给的文字,输入计算函数
3.输出y,精准度为小数点后两位
流程图:
运行结果:
一开始我在devc++上运行,并没有显示错误,但是在PTA上却有报错,然后我进行了调试:
然后发现调试也没有错误,然后我仔细检查了输入的内容,发现在税率的输入格式不一样,然后进行了修改
然后将其复制粘贴到PTA中,答案正确。
本周总结:
经过这一周的学习,我学会了条件语句的相关内容,在反复改错的过程中知道一些知识,老师还讲了switch语句,通过课上的练习和课下的练习题,对switch语句已经掌握的差不多。还粗略了解了ASCII码的一些相关内容。
问题和难点:
在做练习题时,急于做题,不认真地阅读题目要求,好多次因为输出格式而报错,浪费了很多时间;
还有在打代码时会有一些因为格式不统一的报错;
在理解代码时有些困难,词汇量积累不够。
博客字数、代码行数:
作业点评:http://www.cnblogs.com/wafx/p/9898522.html