1遞迴猴子摘桃(20分)
題目內容:
猴子摘桃:一天,乙隻猴子摘了若干桃子,當天吃掉一半,覺得不過癮,又吃了乙個;第二天將剩下的桃子吃掉一半又多吃了乙個;…,每天將前一天剩下的桃子吃掉一半又多吃乙個,直到第n天,發現只剩下乙個桃子,問第一天它摘了多少桃子。
編寫遞迴函式,計算第一天猴子摘的桃子的數量。在主函式中輸入n,呼叫函式計算第一天摘的桃子的數量,在主函式中輸出。
輸入:剩下乙隻桃子的天數n,n>=1。
輸出:第一天摘的桃子數量。
【提示】函式格式:int monkeyandpeak(int k,int n),其中n是1只桃子的天數,k是求哪天的桃子數,返回是第k天的桃子數。主函式的呼叫格式:
count= monkeyandpeak(1,n); //第n天只剩1只桃,求第1天的桃子數
【注意】使用遞迴實現。
樣例1輸入:
樣例1輸出:
//遞迴猴子吃桃
#include
using
namespace std;
intmonkeyandpeak
(int k,
int n)
//第n天剩下乙隻桃子,求第k天的桃子樹
intmain()
2編寫內聯函式求矩形的面積和周長(20分)
題目內容:
編寫函式求矩形的面積和周長,由於算式非常簡單,請使用內聯函式方式編寫,提高程式執行效率
輸入格式:
矩形的長和寬,均為整數
輸出格式:
矩形的面積和周長
輸入樣例:
3 5輸出樣例:
15 16
#include
using
namespace std;
inline
intl
(int a,
int b)
inline
ints
(int a,
int b)
intmain()
3編寫過載函式顯示字串(20分)
題目內容:
編寫函式 print_spaced 顯示字串,要求顯示出的字串每個字母之間都有乙個空格。要求編寫兩個同名函式,乙個支援字元陣列輸入,另乙個支援string型別輸入。然後編寫main函式測試這兩個函式,第乙個使用字元陣列輸入,第二個使用string型別輸入。
輸入格式:
兩個字串,長度不超過100,只包含英文大小寫字母,不含其他字元。
輸出格式:
經間隔空格處理後的兩個字串,兩個字串分居兩行。注意字串的最後乙個字母後面沒有空格。
輸入樣例:
news
final
輸出樣例:
n e w s
f i n a l
//編寫過載函式顯示字串
#include
#include
using
namespace std;
void
print_spaced
(char s)
cout << endl;
}void
print_spaced
(string s)
cout << endl;
}int
main()
4排序函式過載(20分)
題目內容:
編寫一組過載的排序函式,可以對兩個整數、三個整數、四個整數、整數陣列從大到小排序,函式名為sort,其中陣列排序應使用遞迴的方法,另補充print函式,在一行顯示排序後的陣列元素。
主函式如下:
int
main()
sort
(data,n)
;print
(data,n)
;break;}
return0;
}
輸入格式:
請根據主程式自己分析。
輸出格式:
排序後的資料,一行,從大到小,末尾沒有空格。
輸入樣例:
22 15 20 16 3 27 14 64 108 10
輸出樣例:
108 64 27 22 20 16 15 14 10 3
請提交完整程式,包括給出的main()
//排序函式過載
#include
using
namespace std;
void
sort
(int
&a,int
&b)}
void
sort
(int
&a,int
&b,int
&c)void
sort
(int
& a,
int& b,
int& c,
int& d)
void
sort
(int a,
int n)}}
void
print
(int a,
int n)
intmain()
sort
(data, n)
;print
(data, n)
;break;}
return0;
}
5編寫遞迴函式來使字串逆序(20分)
題目內容:
編寫函式來使乙個字串逆序輸出,要求必須用遞迴函式。
輸入格式:
乙個字串,不會超過100個字元長,中間可能包含空格
輸出格式:
該字串的逆序
【注意】使用字元陣列和遞迴實現。
輸入樣例:
hello,everyone
輸出樣例:
enoyreve,olleh
//編寫遞迴函式來使字串逆序
#include
using
namespace std;
void
reverse
(char
*s)int
main()
尋找山頂(C程式設計高階第6周)
描述 在乙個m n的山地上,已知每個地塊的平均高程,請求出所有山頂所在的地塊 所謂山頂,就是其地塊平均高程不比其上下左右相鄰的四個地塊每個地塊的平均高程小的地方 輸入 第一行是兩個整數,表示山地的長m 5 m 20 和寬n 5 n 20 其後m行為乙個m n的整數矩陣,表示每個地塊的平均高程。每行的...
C C 程式設計學習 第6周 A B問題
題目鏈結 相信你已經學會 a b 問題了,那麼問題又來了 輸入兩個正整數 a 和 b 求 a b。輸入格式 一行,包含兩個正整數 a 和 b,中間用單個空格隔開。1 a,b 50000。輸出格式 乙個整數,即 a b 的值。3 412注意int可能存不下,所以要開long long。c語言 incl...
第6周作業
一 金鑰與ca 1.加密方式分為對稱加密和非對稱加密 a.對稱金鑰使用的工具gpg gpg c file 會生成 file.gpg b.非對稱加密 gpg list keys 列出所有金鑰對 gpg export o data t.pubkey 匯出公鑰 gpg import t.pubkey 匯入...