https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292
题目7-7火车运行时间
实验代码
#includeint main() { int x,y,m,n; scanf("%d %d",&x,&y); m=y/100-x/100; n=y%100-x%100; if(n<0){n=60+n; m=m-1; } printf("%02d:%02d",m,n); return 0; }
2.设计思路
1.首先,题目要求输入两个四位数,前两位代表小时,后两位代表分钟,显然这个四位数其实是两个两位数的组合体。
2.就此题而言,两个数是绝对不可以直接相减的,因为这个直接相减的话就是普通十进制相减法则,显然无法满足此题要求,也不符合实际情况,所以首先要做得是将其拆成两个两位数。
3.拆分方法为用%和/来取余取整来实现,最后分别做两位数减法,然后输出,切记,要考虑分钟为负数时要向小时借位。
流程图
3.遇到的问题
(1)当时,看到这道题首先感到难的是如何使这个四位数变成两位数,想了很长时间也没办法,最后想了一个“办法”,我定义了四个变量来存储刚开始的两个四位数,当然,结果肯定是错的因为题目要求的是两个四位数
结果,根本无法达到预期的结果
(2). 当我上百度查时发现用取整取余可以解决这个问题后又一个问题出来了,那就是在小时前面用“0”补充,以及借位问题,刚开始根本不理解借位是啥意思,最后从百度上找到了方法,提高了自己,挺开心。
当时错误无法调试
第四次作业7-1计算个人所得税
#includeint main() { double x,y,z; scanf ("%lf",&x); if (x<=1600){y=0; } else if(x<=2500){z=0.05; y=z*(x-1600); } else if(x<=3500){ z=0.1; y=z*(x-1600); } else if(x<=4500){ z=0.15; y=z*(x-1600); } else {z=0.2; y=z*(x-1600); } printf("%.2lf",y); return 0;
2.设计思路
(1).首先,本题是出自实际问题,很明显不同的情况是不同的计算方法,显然是分段函数的形式,需采用分支语句if-else语句解决。
(2).其次,考虑数据类型用double类型。
本题思路较简单,流程图如下
4.个人总结
(1)这一段的学习了像for循环、if-else的分支语句、switch case的分支语句等,感觉挺好,因为在十一之前已经预先了很多,所以上课听讲也比较轻松。但有一点不好的是,调试这个过程每次老师讲的时候我都恰巧走神,所以没听到,但课下问同学,也学会了。
(2).我觉得难点应该就是在if-else、switch case、for循环吧!不过虽然现在会也得复习,否则要忘了。
作业点评
http://www.cnblogs.com/0224ming/p/9859207.html
http://www.cnblogs.com/freedomjdp/p/9845635.html
http://www.cnblogs.com/xiaofengqaq/p/9845665.html