在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁考試吧論壇Exam8視線考試商城網絡課程模擬考試考友錄實用文檔求職招聘論文下載
            2013中考
            法律碩士
            2013高考
            MBA考試
            2013考研
            MPA考試
            在職研
            中科院
            考研培訓 自學考試 成人高考
            四 六 級
            GRE考試
            攻碩英語
            零起點日語
            職稱英語
            口譯筆譯
            申碩英語
            零起點韓語
            商務英語
            日語等級
            GMAT考試
            公共英語
            職稱日語
            新概念英語
            專四專八
            博思考試
            零起點英語
            托?荚
            托業(yè)考試
            零起點法語
            雅思考試
            成人英語三級
            零起點德語
            等級考試
            華為認證
            水平考試
            Java認證
            職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
            公 務 員
            導游考試
            物 流 師
            出版資格
            單 證 員
            報 關 員
            外 銷 員
            價格鑒證
            網絡編輯
            駕 駛 員
            報檢員
            法律顧問
            管理咨詢
            企業(yè)培訓
            社會工作者
            銀行從業(yè)
            教師資格
            營養(yǎng)師
            保險從業(yè)
            普 通 話
            證券從業(yè)
            跟 單 員
            秘書資格
            電子商務
            期貨考試
            國際商務
            心理咨詢
            營 銷 師
            司法考試
            國際貨運代理人
            人力資源管理師
            廣告師職業(yè)水平
            衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護士
            會計從業(yè)資格
            基金從業(yè)資格
            統(tǒng)計從業(yè)資格
            經濟師
            精算師
            統(tǒng)計師
            會計職稱
            法律顧問
            ACCA考試
            注冊會計師
            資產評估師
            審計師考試
            高級會計師
            注冊稅務師
            國際內審師
            理財規(guī)劃師
            美國注冊會計師
            一級建造師
            安全工程師
            設備監(jiān)理師
            公路監(jiān)理師
            公路造價師
            二級建造師
            招標師考試
            物業(yè)管理師
            電氣工程師
            建筑師考試
            造價工程師
            注冊測繪師
            質量工程師
            巖土工程師
            造價員考試
            注冊計量師
            環(huán)保工程師
            化工工程師
            咨詢工程師
            結構工程師
            城市規(guī)劃師
            材料員考試
            監(jiān)理工程師
            房地產估價
            土地估價師
            安全評價師
            房地產經紀人
            投資項目管理師
            環(huán)境影響評價師
            土地登記代理人
            繽紛校園 實用文檔 英語學習 作文大全 求職招聘 論文下載 訪談|游戲
            軟件水平考試
            軟件水平考試資訊
            軟件水平考試試題
            軟件水平考試專項輔導
            軟件水平考試交流互動
            軟件水平考試交流互動
            您現在的位置: 考試吧 > 軟件水平考試 > 復習資料 > 程序員資料 > 正文

            C語言初學者入門知識之函數03

              本題算法分析如下,設A上有n個盤子。

              如果n=1,則將圓盤從A直接移動到C。

              如果n=2,則:

              1.將A上的n-1(等于1)個圓盤移到B上;

              2.再將A上的一個圓盤移到C上;

              3.最后將B上的n-1(等于1)個圓盤移到C上。

              如果n=3,則:

              A. 將A上的n-1(等于2,令其為n`)個圓盤移到B(借助于C),

              步驟如下:

              (1)將A上的n`-1(等于1)個圓盤移到C上,見圖5.5(b)。

              (2)將A上的一個圓盤移到B,見圖5.5(c)

              (3)將C上的n`-1(等于1)個圓盤移到B,見圖5.5(d)

              B. 將A上的一個圓盤移到C,見圖5.5(e)

              C. 將B上的n-1(等于2,令其為n`)個圓盤移到C(借助A),

              步驟如下:

              (1)將B上的n`-1(等于1)個圓盤移到A,見圖5.5(f)

              (2)將B上的一個盤子移到C,見圖5.5(g)

              (3)將A上的n`-1(等于1)個圓盤移到C,見圖5.5(h)。

              到此,完成了三個圓盤的移動過程。

              從上面分析可以看出,當n大于等于2時, 移動的過程可分解為三個步驟:

              第一步 把A上的n-1個圓盤移到B上;

              第二步 把A上的一個圓盤移到C上;

              第三步 把B上的n-1個圓盤移到C上;其中第一步和第三步是類同的。

              當n=3時,第一步和第三步又分解為類同的三步,即把n`-1個圓盤從一個針移到另一個針上,這里的n`=n-1。顯然這是一個遞歸過

              程,據此算法可編程如下:

              move(int n,int x,int y,int z)

              {

              if(n==1)

              printf("%c-->%c\n",x,z);

              else

              {

              move(n-1,x,z,y);

              printf("%c-->%c\n",x,z);

              move(n-1,y,x,z);

              }

              }

              main()

              {

              int h;

              printf("\ninput number:\n");

              scanf("%d",&h);

              printf("the step to moving %2d diskes:\n",h);

              move(h,'a','b','c');

              }

              move(int n,int x,int y,int z)

              {

              if(n==1)

              printf("%-->%c\n",x,z);

              else

              {

              move(n-1,x,z,y);

              printf("%c-->%c\n",x,z);

              move(n-1,y,x,z);

              }

              }

              main()

              { ……

              move(h,'a','b','c');

              }

              從程序中可以看出,move函數是一個遞歸函數,它有四個形參n,x,y,zn表示圓盤數,x,y,z分別表示三根針。move 函數的功能是把x上的n個圓盤移動到z 上。當n==1時,直接把x上的圓盤移至z上,輸出x→z。如n!=1則分為三步:遞歸調用move函數,把n-1個圓盤從x移到y(tǒng);輸出x→z;遞歸調用move函數,把n-1個圓盤從y移到z。在遞歸調用過程中n=n-1,故n的值逐次遞減,最后n=1時,終止遞歸,逐層返回。當n=4 時程序運行的結果為:

              input number:

              4

              the step to moving 4 diskes:

              a→b

              a→c

              b→c

              a→b

              c→a

              c→b

              a→b

              a→c

              b→c

              b→a

              c→a

              b→c

              a→b

              a→c

              b→c

              相關推薦:

              2012年軟考系統(tǒng)分析師考試60天完美復習計劃

              2012年軟件水平考試網絡工程師章節(jié)筆記講義匯總

              2012年上半年軟件水平考試成績查詢匯總

            文章搜索
            軟件水平考試欄目導航
            版權聲明:如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。