第二次作业
作业要求:https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293
第三次pta作业:
7-7 计算火车运行时间
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
解题思路:
把时间由小时分钟全部转换成分钟
然后就不需要考虑借位问题。
第一步:定义x,y,a,b,c,d=0
第二步:输入x,y
第三步:把出发时间x转换为a分钟
第四步:把到达时间y转换为b分钟
第五步:把b-a除以60取整得到小时
第六步:把b-a除以60取余得到分钟
第七步:判断小时是否小于10,若小于则输出0c:,若不小于则输出c:
第八步:判断分钟是否小于10,若小于则输出0d,若不小于则输出d
结束
编程代码:
#include<stdio.h> int main() { int x=0,y=0,a=0,b=0,c=0,d=0; scanf("%d %d",&x,&y); a=60*(x/100)+x%100; b=60*(y/100)+y%100; c=(b-a)/60; d=(b-a)%60; if(c<10){ printf("0%d:",c); } else{printf("%d:",c);} if(d<10){ printf("0%d",d); } else{printf("%d",d);} return 0; }
流程图:
调试
结果正确
第四次pta作业:
7-2 高速公路超速处罚
按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。
解题思路:
首先判断自己使用else-if的格式,分为3部分。
第一步:使用双精度浮点数double定义x,y,a=0
第二步:输入x,y
第三步:判断时速是否超过百分之10,若无输出OK。
第四步:在第三步的基础上,判断时速是否超过百分50,若无则计算a=100*(x-y)/y,输出Exceed a%. Ticket 200。
第五步:超过百分之50的,计算a=100*(x-y)/y,输出Exceed a%. License Revoked。
结束
编程代码:
#include<stdio.h> int main() { double x=0,y=0,a=0; scanf("%lf %lf",&x,&y); if(x/y<1.1) { printf("OK"); } else if(x/y>=1.1&&x/y<1.5) { a=100*(x-y)/y; printf("Exceed %.0f%%. Ticket 200",a); } else { a=100*(x-y)/y; printf("Exceed %.0f%%. License Revoked",a); } return 0; }
流程图:
调试过程:
没有百分号出现
问完同学和百度了一下
问题:出现了百分号无法显示的问题,我首先进行了研究,翻书,然后问了同学,最后百度去了,结果度娘告诉了我答案。
总结:
这个礼拜学习了if-else,else-if,还有嵌套,循环,可能是多写作业的原因,个人感觉还行基本都有掌握,还另外看了循环的语句,认为要学好这个编程,应该多抄,先从模仿开始,多抄,多看,代码数够了,然后就能那个啥较深入理解,了解领悟C语言等编程语言。在循环这个地方有了误解,最后看了翁凯老师的mooc,完成了解决。
统计图表
点评博客: http://www.cnblogs.com/chengxu230921/p/9908516.html
http://www.cnblogs.com/wangxiangbo/p/9903569.html
http://www.cnblogs.com/yangzhenghui/p/9900452.html