循環(huán)與遞歸算法實驗

循環(huán)與遞歸算法實驗

ID:44714751

大?。?6.51 KB

頁數(shù):8頁

時間:2019-10-25

循環(huán)與遞歸算法實驗_第1頁
循環(huán)與遞歸算法實驗_第2頁
循環(huán)與遞歸算法實驗_第3頁
循環(huán)與遞歸算法實驗_第4頁
循環(huán)與遞歸算法實驗_第5頁
資源描述:

《循環(huán)與遞歸算法實驗》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、目錄實驗一循環(huán)與遞歸算法的應用-3-一、實驗目的-3-二、實驗內容-3-三、實驗步驟-4-四.程序調試及運行結果分析-6-五.實驗總結-6-附錄:程序清單(程序過長,可附主要部分)-7--8-實驗一循環(huán)與遞歸算法的應用一、實驗目的1.掌握循環(huán)、遞歸算法的基本思想、技巧和效率分析方法。2.熟練掌握循環(huán)和遞歸的設計要點,清楚循環(huán)和遞歸的異同。3.學會利用循環(huán)、遞歸算法解決實際問題。二、實驗內容1.問題描述:題目一:打印圖形編寫程序:根據(jù)參數(shù)n打印具有下面規(guī)律的圖形,如,當n=4時,圖形如下:15286310974題目二:回文判斷判斷s字符串是否為“回文”的

2、遞歸程序。題目三:計算前n項和根據(jù)參數(shù)n,計算1+2+……+n。要求:用循環(huán)和遞歸分別實現(xiàn)2.數(shù)據(jù)輸入:個人設定,由鍵盤輸入。-8-3.要求:1)上述題目中學號為單數(shù)的做題目一和三,雙數(shù)做二和三。上機前,完成程序代碼的編寫2)獨立完成實驗及實驗報告三、實驗步驟1.理解算法思想和問題要求;2.編程實現(xiàn)題目要求;3.上機輸入和調試自己所編的程序;4.驗證分析實驗結果;5.整理出實驗報告。-8-附:實驗報告的主要內容一.實驗目的二.問題描述三.算法設計解答第二題,思路為設計一個遞歸函數(shù),并定義三個參數(shù)字符數(shù)組s[100]、整型變量len和i。在函數(shù)中利用條件

3、語句判斷第一個和最后一個字符是否相同,依次往下進行比較判斷,如果是回文數(shù)返回1,不是則返回0。并在主函數(shù)中利用條件語句將0、1轉化為自然語言。Main函數(shù)輸入字符調用遞歸函數(shù)進行判斷是則返回1,否返回0轉化成自然語言后輸出圖2.1程序運行流程圖第三題計算1到n的數(shù)值總和,用循環(huán)算法需要設計一層循環(huán),將語句sum+=i;計算n次累加得出結果。但是循環(huán)算法相比在時間效率上不如遞歸算法。所以,可以用遞歸算法計算較為簡單,以n=1為終止條件,多次調用自身即可得出答案。fact(n)→fact(n-1)……fact(2)→fact(1)遞歸回溯圖3.1遞歸算法示

4、意圖-8-四.程序調試及運行結果分析1)運行程序后,輸入asdfghgfdsa進行判斷,運行成功是回文數(shù)則返回1值轉化為自然語言輸出:是回文數(shù)。圖2.2判斷回文數(shù)2)運行程序后,輸入n的數(shù)值為100由計算機計算1到100的數(shù)字相加之和,運行成功則輸出正確結果。圖3.2計算總和五.實驗總結這次實驗的兩道題都用到了遞歸,遞歸算法雖然是我們以前已經學過的內容,但是通過這次實驗我真正用起來的時候,才發(fā)現(xiàn)真的不知從何下手。后來通過書上和老師上課講解的例題發(fā)現(xiàn),遞歸算法設計的關鍵找出遞歸關系和遞歸終止條件。遞歸關系就是使問題向邊界條件轉化的規(guī)則。比如第二題利用條件

5、語句判斷第一個和最后一個字符是否相同,依次往下進行比較判斷,如果是回文數(shù)返回1,不是則返回0。第三題終止條件就是n是否等于1,結束時返回結果。這次實驗也使我掌握了構造遞歸算法的方法技巧,使我更加深入的了解掌握了遞歸算法,收獲較大。-8-附錄:程序清單(程序過長,可附主要部分)第二題程序如下:#include#includeinthuiwen(chars[100],intlen,inti){if(i>(len-1)/2){if(s[i]==s[len-1-i])return1;elsereturn0;}else

6、{if(s[i]==s[len-1-i])returnhuiwen(s,len,i+1);//如果滿足回文條件才遞歸elsereturn0;}}intmain(){chars[100];intlen;intn;cin>>s;len=strlen(s);n=huiwen(s,len,0);if(n==1)cout<<"是回文數(shù)"<usingnamespacestd;intmain(){intn,i,sum=0;ci

7、n>>n;for(i=1;i<=n;i++)sum+=i;cout<<"結果是:"<usingnamespacestd;intfact(intn);intmain(){intn,c;cin>>n;c=fact(n);cout<<"結果是:"<

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。