




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機程序設計(c+)第6周編程作業(yè)1遞歸猴子摘桃(20分)題目內容:猴子摘桃:一天,一只猴子摘了若干桃子,當天吃掉一半,覺得不過癮,又吃了一個;第二天將剩下的桃子吃掉一半又多吃了一個;,每天將前一天剩下的桃子吃掉一半又多吃一個,直到第n天,發(fā)現(xiàn)只剩下一個桃子,問第一天它摘了多少桃子。編寫遞歸函數(shù),計算第一天猴子摘的桃子的數(shù)量。在主函數(shù)中輸入n,調用函數(shù)計算第一天摘的桃子的數(shù)量,在主函數(shù)中輸出。輸入:剩下一只桃子的天數(shù)n,n>=1。輸出:第一天摘的桃子數(shù)量?!咎崾尽亢瘮?shù)格式:int monkeyandPeak(int k,int n),其中n是1只桃子的天數(shù),k是
2、求哪天的桃子數(shù),返回是第k天的桃子數(shù)。主函數(shù)的調用格式: count= monkeyandPeak(1,n); /第n天只剩1只桃,求第1天的桃子數(shù)【注意】使用遞歸實現(xiàn)。樣例1輸入:10樣例1輸出:1534#include<stdio.h># include <iostream>using namespace std;int peach(int n)/第N天只剩下一個桃子了if(n=1)return 1;return 2*(peach(n-1)+1);int main()int a;cin>>a;p
3、rintf("%dn",peach(a);return 0;2編寫內聯(lián)函數(shù)求矩形的面積和周長(20分)題目內容:編寫函數(shù)求矩形的面積和周長,由于算式非常簡單,請使用內聯(lián)函數(shù)方式編寫,提高程序運行效率輸入格式:矩形的長和寬,均為整數(shù)輸出格式:矩形的面積和周長輸入樣例:3 5輸出樣例:15 16# include <iostream>using namespace std;inline int GetSize(int a, int b) int size = a*b; return size;inline int GetPerimeter(int a, int b)
4、 int perimeter = 2*(a+b); return perimeter;int main() /-define- int a,b; /-input- cin>>a; cin>>b; /-execute- /-output- cout<<GetSize(a,b)<<" " cout<<GetPerimeter(a,b)<<endl; return 0;3編寫重載函數(shù)顯示字符串(20分)題目內容:編寫函數(shù) print_spaced 顯示字符串,要求顯示出的字符串每個字母之間都有一個空格。要求編
5、寫兩個同名函數(shù),一個支持字符數(shù)組輸入,另一個支持string類型輸入。然后編寫main函數(shù)測試這兩個函數(shù),第一個使用字符數(shù)組輸入,第二個使用string類型輸入。輸入格式:兩個字符串,長度不超過100,只包含英文大小寫字母,不含其他字符。輸出格式:經(jīng)間隔空格處理后的兩個字符串,兩個字符串分居兩行。注意字符串的最后一個字母后面沒有空格。輸入樣例:newsfinal輸出樣例:n e w sf i n a l# include <iostream># include <cstring>using namespace std;void print_spaced(char wor
6、d, int length) int i; cout<<word0; if(length>1) for(i=1;i<length;i+) cout<<" "<<wordi; void print_spaced(string xword, int count) int i; int pos = 1; if(count>1) for(i=1;i<count;i+) xword.insert(pos," "); pos = pos + 2; cout<<xword;int main() /
7、-define- int i,length = 0,strlen; char word100; string xword; /-input- cin.getline(word,100); getline(cin,xword); /-execute- for(i=0;wordi!='0'i+) length+; print_spaced(word, length); cout<<endl; strlen = xword.length(); print_spaced(xword, strlen); /-output- return 0;4排序函數(shù)重載(20分)題目內容:
8、編寫一組重載的排序函數(shù),可以對兩個整數(shù)、三個整數(shù)、四個整數(shù)、整數(shù)數(shù)組從大到小排序,函數(shù)名為sort,其中數(shù)組排序應使用遞歸的方法,另補充print函數(shù),在一行顯示排序后的數(shù)組元素。主函數(shù)如下:int main()int a,b,c,d;int data100;int k,n,i; cin>>k; switch(k) case 1: cin>>a>>b;
9、; sort(a,b); cout<<a<<" "<<b<<endl; break; case 2: cin>>a>>b>>c; sort(a,b,c);
10、; cout<<a<<" "<<b<<" "<<c<<endl; break; case 3:
11、0; cin>>a>>b>>c>>d; sort(a,b,c,d); cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl; break;
12、 case 4: cin>>n; for(i=0;i<n;i+) cin>>datai; &
13、#160; sort(data,n); print(data,n); break; return 0;輸入格式:請根據(jù)主程序自己分析。輸出格式:排序后的數(shù)據(jù),一行,從大到小,末尾沒有空格。輸入樣例:41022 15 20 16 3 27 14 64 108 10輸出樣例:108 64 27 22
14、20 16 15 14 10 3請?zhí)峤煌暾绦颍ńo出的main()# include <iostream>using namespace std;void sort(int &a,int &b) int tmp; if(a<b) tmp = b; b = a; a = tmp; void sort(int &a,int &b,int &c) sort(a,b); sort(a,c); sort(b,c);void sort(int &a,int &b,int &c,int &d) sort(b,c,d
15、); sort(a,c,d); sort(a,b,d); sort(a,b,c);void sort(int (&num)100,int n) int i,j,tmp; for(i=0;i<n;i+) for(j=0;j<n-1;j+) if(numj<numj+1) tmp = numj+1; numj+1 = numj; numj = tmp; void print(int num, int n) cout<<num0; for(int i=1;i<n;i+) cout<<" "<<numi; int
16、main()int a,b,c,d;int data100; /數(shù)組int k,n,i; cin>>k; switch(k) case 1: /情況1,兩數(shù)排序 cin>>a>>b; sort(a,b); cout<<a<<" "<<b<<endl; break; case 2: /情況2,三數(shù)排序 cin>>a>>b>>c; sort(a,b,c); cout<<a<<" "<<b<<&
17、quot; "<<c<<endl; break; case 3: /情況3,四數(shù)排序 cin>>a>>b>>c>>d; sort(a,b,c,d); cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl; break; case 4: /情況4,數(shù)組排序 cin>>n; for(i=0;i<n;i+) cin>&g
18、t;datai; sort(data,n); print(data,n); break; return 0;5編寫遞歸函數(shù)來使字符串逆序(20分)題目內容:編寫函數(shù)來使一個字符串逆序輸出,要求必須用遞歸函數(shù)。輸入格式:一個字符串,不會超過100個字符長,中間可能包含空格輸出格式:該字符串的逆序【注意】使用字符數(shù)組和遞歸實現(xiàn)。輸入樣例:Hello,everyone輸出樣例:enoyreve,olleH# include <iostream>using namespace std;char tmp;int i;void GetSwap(char (&word)100,int n) /對前n個數(shù)進行逆序操作 /1.對前n-1個數(shù)進行逆序 /2.保存wordn-1 /3.將已經(jīng)逆序了的數(shù)后移一位(0到n-2) /4.將wordn-1移到第一位 if(n>1) GetSwap(word, n-1); tmp = wordn-1; for(i=n-2;i>=0;i-) wordi+1=word
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧農(nóng)業(yè)新質生產(chǎn)力專題學習
- ktv安全管理制度范本
- 學校安全生產(chǎn)月活動簡報
- 施工吊籃安全使用規(guī)范
- 幼兒園食品安全健康教育活動方案及總結
- 生產(chǎn)安全事故應急預案管理辦法培訓
- 安全生產(chǎn)許可證的辦理條件
- 中國煤礦安全生產(chǎn)網(wǎng)官網(wǎng)
- 技術部安全生產(chǎn)責任制
- 學校安全生產(chǎn)工作方案
- 2025年吉林省中考數(shù)學試卷真題及答案詳解(精校打印版)
- 內蒙古自治區(qū)通遼市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細及行政區(qū)劃代碼
- 螺旋溜槽安裝標準工藝
- HALCON編程基礎與工程應用全書ppt課件匯總(完整版)
- 信陽市平橋區(qū)農(nóng)村土地承包經(jīng)營權轉包
- 化學常用單詞匯總
- 安徽省評議公告的中小學教輔材料零售價格表
- 西子otis梯oh con6423中文調試手冊
- 《臨床即時檢測儀器》PPT課件.ppt
- 淺談朝鮮族民族音樂元素
- 建行銀行保函
評論
0/150
提交評論