第二次作業


【作業要求】:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292

第三次作業:7-7 計算火車運行時間

1.實驗代碼

 

#include<stdio.h>
int main()
{
    int x,y;
    scanf("%d %d",&x,&y);
    
    int a,b;
    
    a = y / 100 - x / 100; 
    b = y % 100 - x % 100;
    if(b>=0){
        printf("%02d:%02d",a,b);
    }
    else{
        a = a - 1;
        b = b + 60;
        printf("%02d:%02d",a,b);
    }
    return 0;
}

 

2.設計思路

第一步:仔細閱讀作業題目要求,輸入格式及輸出格式。觀察輸出樣例及輸入樣例的數字間是否存在空格。

第二步:定義整型變量x(出發時間),y(到達時間),a(所用小時數),b(所用分鍾數)。

第三步:利用a=y/100-x/100及b=y%100-x%100分別求出所用小時及所用分鍾數。因為變量被定義為整型,符號/可以運用除法運算求出前兩位小時,符號%可以運用求余運算求出后兩位分鍾。

第四步:判斷后兩位分鍾數的兩種情況,利用if-else語句分別求出不同情況下的結果。

第五步:輸出結果。

流程圖

 

3.本題調試過程碰到問題及解決辦法

剛開始我的代碼及調試是這樣的,輸出結果為3:29,小時的前面並沒有補0。

 

通過同學的幫助與在網絡上的查詢,代碼應輸入為printf("%02d:%02d",a,b);其中%02d代表如果整數不夠2列就補上0,如果大於2則沒有影響。例如當結果為1時輸出01,當結果為11時則正常輸出11。

但這只是錯誤之一,我發現當出發時間的分鍾數大於到達時間的分鍾數,會變成如下情況。

 

 

當出發時間分鍾數大於到達時間分鍾數時,輸出結果會出現負數。因此,需要運用if-else語句分別解釋這兩種不同情況。

情況一:出發時間分鍾數小於到達到達時間分鍾數。

 

 

 

情況二:出發時間分鍾數大於到達時間分鍾數

 

然后就輸出了不同情況下的正確結果。

 

 

 

 

第四次作業:7-4 比較大小

1.實驗代碼

#include <stdio.h>
#include <math.h>
int main()
{
  int a,b,c;
  scanf("%d %d %d",&a,&b,&c);
  if(a>b&&b>c){
    printf("%d->%d->%d",c,b,a);
  }
  else if(a>c&&c>b){
    printf("%d->%d->%d",b,c,a);
  }
  else if(b>a&&a>c){
    printf("%d->%d->%d",c,a,b);
  }
  else if(b>c&&c>a){
    printf("%d->%d->%d",a,c,b);
  }
  else if(c>a&&a>b){
    printf("%d->%d->%d",b,a,c);
  }
  else{
    printf("%d->%d->%d",a,b,c);           
  }
  return 0;
}

 

2.設計思路

第一步:仔細閱讀作業題目要求,輸入格式及輸出格式。觀察輸出樣例及輸入樣例的數字間是否存在空格。

第二步:定義整型變量a,b,c。利用if-else語句判斷三個數字的大小,並從小到大依次輸出。

第三步:按照輸出格式輸出結果。

流程圖

 

 3.本題調試過程碰到問題及解決辦法

剛開始我的代碼及調試是這樣的,編譯並沒有出錯,但是無法從小到大依次輸出正確格式。

 

經過同學的幫助以及查閱資料書,我明白了錯誤出在(a>b>c)上。

正確形式應該是(a>b&&b>c),其它以此類推。

其中&&代表 與,意為同時都要滿足。

更改后的代碼及調試如下

 

 

這樣就能輸出正確的格式,同理,其它情況同樣適用。

4.個人總結

(1)在本周的學習當中,我學習到了if-else語句,可以通過語句判斷並計算多種不同情況。在學習中確實遇到了一些問題,比如沒有仔細觀察題目,沒能理解其中的隱含條件。通過做題不僅鞏固了if-else語句的知識,同時也掌握了新的知識:%02d的含義。通過 7-4 比較大小這道題,也學會了分類討論的學習思想。

(2)本周的學習內容中感覺if-else語句和else-if語句比較難,經常混淆它們的概念。對此,通過上網查詢資料以及與同學的交流,明白了這周的學習內容,並學習到了新的知識。

 

 

 

作業點評:http://www.cnblogs.com/zst1/p/9912320.html

            http://www.cnblogs.com/0224ming/p/9859207.html

              http://www.cnblogs.com/chen0803/p/9912503.html.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM