1. 程式人生 > >第4次作業(條件)比較大小。

第4次作業(條件)比較大小。

作業 實驗代碼 找到 因此 調試 證明 sca std 想象

題目7-4 比較大小
1.實驗代碼

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

2.設計思路

通過if條件,將a變成輸入的三個數中最大的那一個,b為第二大,c為最小。

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

剛開始看到比較大小時的第一個想法是:C語言裏應該有兩個“函數”,一個來表示取這組數據中的最大值(Max),一個來表示去這組數據中的最小值(min)。但是經過查找資料,耗費了很長時間,到最後依然沒有找到心中想象的那個“函數”,所以就想到一個一個的可能都寫出來,畢竟只有三個輸入的數據,各種可能加在一起也可以數的過來,但是在程序輸到一半的時候我放棄了,因為感覺這樣輸入的代碼太過繁瑣,並且沒有實際的作用,潛意識的認為這種情況就算是寫對了,也沒有達到這道題目想要自己學習的“點”,因此我放棄了一種一種可能全輸上去的方法,開始尋找第三種,也就是If 賦值法,最開始我將題目完整的復制到百度搜索,看到了if條件賦值的方法,最開始我是不理解這種方法的實際應用的,因此我將網上找到的源代碼完整的復制到了我的電腦中的“dev c++”中,自己進行編譯輸入了一些數據,並用口算跟著代碼的編寫去進行了一次計算,懂得了if賦值方法的應用,因此開始自己嘗試編寫代碼來驗證自己對代碼的認識。剛開始的輸入因為不理解"->"符號的意思而頻繁出錯。

技術分享圖片
事實證明不動腦思考動動手指問別人是不可靠而且沒有用處的,經過仔細的查看題目,我發現了"2->4->8"的字樣,因此知道了"->"不是自己認知上的">"而是"<",所以我將代碼進行了修改,但是結果也不盡人意。技術分享圖片
因此我開始調試程序,發現a和b先互換,b和c再互換,這時

第4次作業(條件)比較大小。