作業要求:
https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293
一.對pta作業的總結
第三周作業:這周作業我花時間較長的是第七題:計算火車運行時間,本題要求根據火車的出發時間和達到時間,編寫程序計算整個旅途所用的時間。
我做了兩遍,一遍是使用if語句進行小時上的借位,另一遍是將小時轉化成分鍾直接相減而得
//if語句進行小時上的借位
代碼,文字描述設計思路
1 #include<stdio.h> 2 int main() 3 { 4 int a,b,c,d,f,g; 5 scanf("%d %d",&a,&b); 6 c=a%100,d=b%100;//各取兩個時間的分鍾數 7 f=d-c;//分鍾數相減 8 g=(b-a)/100%100;//取兩時間在小時上的差 9 if(f<0)//判斷是否需要借位 10 f=f+60,g=g;//因為上方求小時上的差時,需要借位的話已經向小時上借位了,所以小時數不需要減一 11 else 12 f=f,g=g; 13 printf("%02d:%02d",g,f); 14 return 0; 15 }流程
錯誤調試和解決辦法
這種方法我在小時數是否減一的地方糾結了一會,后來發現在相減的時候已經借位了。
//將小時轉化成分鍾直接相減而得
代碼,文字描述設計思路
1 #include<stdio.h> 2 int main() 3 { 4 int a,b,c,d,f,g; 5 scanf("%d %d",&a,&b); 6 c=(a/100%100)*60+a%100;//將第一個時間全轉化為分鍾數 7 d=(b/100%100)*60+b%100;//將第二個時間全轉化為分鍾數 8 f=(d-c)/60%100,g=(d-c)%60;//,提取出小時數、分鍾數,f為小時數,g為分鍾數 9 printf("%02d:%02d",f,g); 10 return 0; 11 }
流程





錯誤調試和解決辦法
這種方法就只是簡單的數學計算,沒出現什么錯誤
第四周作業:這周作業我覺得有點難度的是第三題 出租車計價
本題要求根據某城市普通出租車收費標准編寫程序進行車費計算。具體標准如下:
- 起步里程為3公里,起步費10元;
- 超起步里程后10公里內,每公里2元;
- 超過10公里以上的部分加收50%的回空補貼費,即每公里3元;
- 營運過程中,因路阻及乘客要求臨時停車的,按每5分鍾2元計收(不足5分鍾則不收費)。
這題內容是對出租車計費最后內容的實現,我覺得更有實際意義
代碼,文字描述設計思路
我的方法是將里程收費與時間收費分開計算,然后再加起來
1 #include<stdio.h> 2 int main() 3 { 4 int b; 5 double a,c,d,e; 6 scanf("%lf %d",&a,&b);//輸入行駛里程與等待時間 7 if(a<=3)//判斷歷程在那個區間內,並計算出在該區間內在里程上所花費的錢 8 {c=10;} 9 else if(3<=a&& a<=10) 10 {c=10+(a-3)*2;} 11 else 12 {c=10+(a-3)*2+(a-10)*1;} 13 d=b/5*2;//計算有幾個五分鍾並得出在分鍾上花費的錢 14 e=c+d;//合計在里程、時間上花費的錢 15 printf("%.0f",e); 16 return 0; 17 }
流程







錯誤調試和解決辦法
該題也只是分段函數的計算,沒有什么問題出現
二、總結和學習進度條
這幾周通過自學與課外輔導的學習,感覺自己對代碼的熟練的有了很大的提升,學會了很多函數的使用。
目前大多數問題都還較為簡單,還能自己解決或在互聯網上學習下函數定義后自己組織完成,其中大多數問題還是集中在打錯字導致的編譯錯誤,還是需要多多練習對代碼函數的理解與應用。
這幾周學習了很多c語言的基本語句,基本在這兩周能把他們全部涉及一遍,接下來就需要提高對於他們的理解與運用
互評和學習進度