<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                #### 遞歸函數(一) 遞歸,遞歸就是一個函數在它的函數體內調用它自身。執行遞歸函數將反復調用其自身,每調用一次就進入新的一層。 例如:計算n的階乘可以使用以下代碼: ![](http://img.mukewang.com/5497dcb7000197b103700395.jpg) **運行結果為: 5的階乘=120** #### 遞歸函數(二) 我們對上一小節中求5的階乘這個例子進行一下剖析,看一看他的運算過程: ![](http://img.mukewang.com/5577e0390001d23705970304.jpg) 程序在計算5的階乘的時候,先執行遞推,當n=1或者n=0的時候返回1,再回推將計算并返回。由此可以看出遞歸函數必須有結束條件。 遞歸函數特點: 1. **每一級函數調用時都有自己的變量,但是函數代碼并不會得到復制**,如計算5的階乘時每遞推一次變量都不同; 2. 每次調用都會有一次返回,如計算5的階乘時每遞推一次都返回進行下一次; 3. 遞歸函數中,位于遞歸調用前的語句和各級被調用函數具有相同的執行順序; 4. 遞歸函數中,位于遞歸調用后的語句的執行順序和各個被調用函數的順序相反; 5. **遞歸函數中必須有終止語句。** **一句話總結遞歸:自我調用且有完成狀態** 任務:猴子第一天摘下N個桃子,當時就吃了一半,還不過癮,就又多吃了一個。第二天又將剩下的桃子吃掉一半,又多吃了一個。以后每天都吃前一天剩下的一半零一個。到第10天在想吃的時候就剩一個桃子了,問第一天共摘下來多少個桃子?并反向打印每天所剩桃子數。 #include <stdio.h> int getPeachNumber(n) { int num;//定義所剩桃子數 if(n==10) { return 1; //遞歸結束條件 } else { //num = getPeachNumber(n-1)/2-1; //這里之所以不寫這種形式因為n=1,getPeachNumber(0)不存在 num = (getPeachNumber(n+1)+1)*2; //這里是不應該用遞歸呢?; printf("第%d天所剩桃子%d個\n", n, num); //天數,所剩桃子個數 } return num; } int main() { int num = getPeachNumber(1); printf("猴子第一天摘了:%d個桃子。\n", num); return 0; } 輸出結果顯示 ![](http://img.mukewang.com/54990f9d00012c3302010163.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看