作業要求: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
