作業要求:【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293】
第三次作業:7-7計算火車運行時間
#include<stdio.h> int main() { int a,b,c,d; scanf("%d %d",&a,&b); if(a%100>b%100){ c=b/100-1-a/100; d=b%100+60-a%100; } else{ c=b/100-a/100; d=b%100-a%100; } printf("%02d:%02d",c,d); return 0; }
解題思路
第一步:定義四個變量a,b,c,d。
第二步:輸入a和b的值,a表示出發時間,b表示到達時間。
第三步:用else-if語句區分d為負數的情況,若d<0,則向前借一位。
第四步:輸出c和d的值,程序結束。
流程圖
運行結果
出現問題
當我運行c為個位數時,數字前面沒補零。
解決方法
事后我通過百度和詢問同學,才知道c語言要補零,需要在輸出時輸入"%02d",又學到一個新知識。
總結
通過這次作業,我發現在程序編寫上我還有很多不足,還有很多知識盲點,以后我一定會勤奮學習,謙虛請教,努力彌補自己知識上的誤區。
第四次作業:7-2高速公路超速處罰
#include<stdio.h> int main() { double a,b,x; scanf("%lf %lf",&a,&b); if((a-b)*10>=b){ x=(a-b)/b*100; if(x<50&&x>=10){ printf("Exceed %.0f%%. Ticket 200",x); } else{ printf("Exceed %.0f%%. License Revoked",x); } } else{ printf("OK"); } return 0; }
第一步:定義變量a,b,x。
第二步:輸入a,b。
第三步:用if-else語句將三種情況分開,分別運算。
第四步:輸出結果。
流程圖
運行結果
出現問題
誤解懲罰條件,以為超速了就要懲罰,而不是超速10%。
解決方法
后來通過仔細閱讀題目以及調試發現了問題。
總結
通過這道題我發現仔細閱讀題目的重要性,有的時候編程題並不僅僅是語言的疊加,還有邏輯思維起作用,所以要理解題目所講的含義。
兩周總結
所學內容:這兩周主要學習了if-else語句,雖然有些難度,但只要認真學,我相信自己會學好的。
代碼行數、博客字數統計:
點評博客
1.https://www.cnblogs.com/zcybky/p/9853307.html
2.http://www.cnblogs.com/asdwadsxc/p/9892297.html
3.http://www.cnblogs.com/moyoujiang/p/9892524.html