作業要求 :https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293
前言
來到大學已經一個多月了,通過這近兩個月的C語言的學習,感覺自己仿佛已經觸碰到了代碼世界的一隅,從“hello world”到“for的循環”,腦子里的代碼數也慢慢豐富起來,C語言的樂趣也邁着輕悅的步伐緩緩
靠近着我,希望在接下來的學習里,能夠繼續有所收獲。
作業
第三周作業
這一周的作業可以說是我們接觸的第一個稍有難度的作業了,無論從數量還是質量看都是。而其中最讓我頭疼的就是《7-7 計算火車運行時間》了。
這道題要求根據火車的出發時間和達到時間,編寫程序計算整個旅途所用的時間。
剛開始看這道題的時候一頭霧水,完全不知道該怎么操作,后來在同學的指導下終於有了思路。
這道題主要的難點就是小時上的借位和分鍾與小時的轉換。
代碼:
1 #include <stdio.h> 2 int main() 3 { 4 int abcd,qwer,xy,mn; 5 scanf("%d %d",&abcd,&qwer); 6 7 xy=qwer/100-abcd/100; 8 mn=qwer%100-abcd%100; 9 10 if(mn<0) 11 { 12 mn=60+mn; 13 xy=xy-1; 14 } 15 16 printf("%02d:%02d",xy,mn); 17 18 return 0; 19 20 }
思路:
1 定義兩個輸入變量abcd和qwer;
2 定義兩個輸出變量mn和xy;
3 通過abcd和qwer除以一百來完成初步的小時化並通過相減來計算消耗的時間;
4 通過if語句來完成小時的結位從而達到完全的小時化;
5 由於小時或分鍾可能出現類似於2.30之類的情況,於是用%02d來進行0的補位,從而實現02.30的情況。
流程圖:
結果:

錯誤情況:

沒有進行小時和分鍾的補0處理導致答案錯誤。
調試時:




經過調試,把問題解決了。
第四周作業
第四周的作業總體來說難度偏大,但有個別題目卻也十分有趣,而最讓我感興趣的就是《7-2 高速公路超速處罰》了。
這道題要求根據車速和限速自動判別對該機動車的處理。
達到或超出本車道限速的10%則處200元罰款;若達到或超出50%,就要吊銷駕駛證。
這道題主要的難度就是如何輸出百分號和如何計算限速的百分之幾。
代碼:
1 #include <stdio.h> 2 int main() 3 { 4 double d; 5 double a,b,c; 6 scanf("%lf %lf",&a,&b); 7 c=a-b; 8 d=(c/b)*100; 9 if(d<10) 10 { 11 printf("OK"); 12 } 13 else if(d<50) 14 { 15 printf("Exceed %.0f%%. Ticket 200",d); 16 } 17 else 18 { 19 printf("Exceed %.0f%%. License Revoked",d); 20 } 21 22 return 0; 23 }
思路:
1 定義四個變量a,b,c,d;
2 輸入車速a,限速b,並通過相減算出差值c,再通過c與b的相除計算出差值是限速的百分之幾,即超出限速的百分之幾;
3 通過if語句進行判斷,實現不同的處理;
4 在輸出時百分號用%%來表示。
流程圖:

結果:



錯誤情況:

沒有弄清楚百分號如何表示,導致輸出時未顯示百分號。
調試時:




經過調試之后,問題得到解決。
總結和學習進度條
通過這幾周的學習,可以說已經打開了通往代碼世界的大門,當然中間遇到了很多的問題,也產生了很多不適當的情緒。但幸運的是,我都克服了,希望在下面的學習中可以再接再厲,繼續努力學習,向着代碼世界更進一步。


點評
1 張春宇 http://www.cnblogs.com/zcybky/p/9853307.html
2 莫有江 http://www.cnblogs.com/moyoujiang/p/9892524.html
3 王嘉聰 http://www.cnblogs.com/asdwadsxc/p/9892297.html
