作业要求:https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293
7-7 计算火车运行时间
1.代码:
#include<stdio.h> int main() { int a,b,c,d,e,f,g,h; scanf("%d%d",&a,&b); d=a/100*60; c=b/100*60; e=d+a-a/100*100; f=c+b-b/100*100; g=(f-e)/60; h=(f-e)-g*60; printf("%02d:%02d",g,h); return 0; }
2.思路:
第一步:定义变量,a,b,c,d,e,f,g,h;
第二步:输入变量a,b;其中a为出发时间b为到达时间。
第三步:由于我所定义的变量都为整型变量,所以我讲输入的两个变量除一百进而得到输入时间的小时部分,再将小时数换算成分钟数,并将计算后的结果分别赋值给d,c。
第四步:我使用类似于第三部的方法取得输入两时间的分钟部分,再加上上一步将小时数换算成为分钟数的结果,得到输入和输出时间对应的总分钟数,并将结果赋值给e,f。
第五步:我将所得到达时间与出发时间的分钟数相减得到出发与到达时间的分钟数总差,再除以一小时对应的分钟数,得到结果的整数部分即为所求接过小时部分,并将结果赋值给g。
第六步:将上一步中求得的小时数换算成分钟数,再用出发时间和到达时间分钟数的差值减去换算后的结果,所得即为所求结果分钟部分。
第七步:输出结果,其中%02d中的02代表输出结果保留两位整数部分,使结果符合题意。
流程图:
运行截图:
程序正常:
遇到问题及解决办法:
在该题的解题过程中,借位是一个难点,也是本题遇到的最大问题,最终在自己和同学的帮助下利用整形除一百自动舍弃小数部分,完成作业。
7-2 高速公路超速处罚
1.代码:
#include<stdio.h> int main() { double a,b,c,d; scanf("%lf%lf",&a,&b); c=b*0.1; d=b*0.5; if(a<c+b){ printf("OK"); } else{ if(a>=c+b&&a<d+b) { printf("Exceed %.0lf%%. Ticket 200",(a-b)/b*100); } else{ printf("Exceed %.0lf%%. License Revoked",(a-b)/b*100); } } return 0; }
2.思路:
第一步:先定义四个浮点型变量a,b,b,d。
第二步:输入两个浮点型变量a,b,分别代表车速和限速。
第三步:分别将输入限速的百分之十和百分之五十赋值给c,d‘
第四步:进行判断,如果车速,未超过限速的百分之一百一则直接输出OK,若超过,则进行下一步判断,若车速超过限速的百分之一百一而没超过百分之一百五,则输出Exceed%f%%,其中末尾的%是为了在输出时出现百分号,如果车速超过限速的百分之一百五,则输出Exceed %.0lf%%. License Revoked。
流程图:
调试结果:
运行截图:
遇到问题及解决办法:
这道题问题主要出在%无法输出,后来经过询问同学解决问题。
总结:
经过这几周的学习,我体会到了打代码的乐趣,同时经过这段时间的学习也使我对于编程有了新的认识。
这几周我们主要学习了if else语句,和else if,嵌套模型,switch case和刚刚接触的for循环这些还只是入门所以我决定要好好学习c语言。
表格:
周数 |
第一周 |
第二周 |
第三周 |
代码数 |
120 |
110 |
140 |
博客字数 |
900 |
0 |
500 |
超链接:
http://www.cnblogs.com/chengxu230921/p/9915195.html