1. 程式人生 > >第二次隨筆:程式碼的世界

第二次隨筆:程式碼的世界

 

前言

來到大學已經一個多月了,通過這近兩個月的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