1遞迴插入排序(10分)
題目內容:
編寫函式,對整型陣列進行遞迴插入排序。編寫函式,輸入、輸出陣列元素。編寫主函式,呼叫函式輸入、排序、輸出元素。整數個數不超過100個。
輸入:在一行或多行中輸入若干用空隔開的整數,輸入-9999表示結束。
輸出:在一行中輸出整數,用乙個空格隔開,末尾無空格。
輸入樣例:
3 2 1 5 4 -9999
輸出樣例:
1 2 3 4 5
//遞迴插入排序
#include
using
namespace std;
void
sort
(int a,
int n)}}
intinput
(int a)
return i;
}int
main()
2遞迴求兩個數的最大公因數(10分)
題目內容:
編寫函式,遞迴求兩個整數的最大公因數。編寫主函式,輸入兩個整數,呼叫函式求最大公因數,在主函式中輸出。
輸入:兩個正整數。
輸出:乙個整數。
輸入輸出樣例:
輸入:24 42
輸出:
//遞迴求兩個數的最大公因數
#include
using
namespace std;
intf
(int a,
int b)
;int
main()
intf
(int a,
int b)
//輾轉相除法
}
3全排列(10分)
題目內容:
編寫遞迴函式,顯示n個數字的全排列。例如,n=4,全排列為
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 3 2
1 4 2 3
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 3 1
2 4 1 3
3 2 1 4
3 2 4 1
3 1 2 4
3 1 4 2
3 4 1 2
3 4 2 1
4 2 3 1
4 2 1 3
4 3 2 1
4 3 1 2
4 1 3 2
4 1 2 3
編寫主函式,輸入非負整數n,呼叫函式顯示全排列。
輸入格式:乙個非負整數n.
輸出格式:全排列,每行乙個,用乙個空格隔開,末尾無空格。
輸入樣例:
輸出樣例:
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 3 2
1 4 2 3
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 3 1
2 4 1 3
3 2 1 4
3 2 4 1
3 1 2 4
3 1 4 2
3 4 1 2
3 4 2 1
4 2 3 1
4 2 1 3
4 3 2 1
4 3 1 2
4 1 3 2
4 1 2 3
//全排列
#include
using
namespace std;
void
swap
(int
& a,
int& b)
voidan(
int a,
int n,
int i)
else}}
intmain()
4遞迴構造可重複字串(10分)
題目內容:
編寫函式,使用遞迴的方法,遞迴地構造從順序的m個字母中抽取n個字母組成的所有字串。例如,從4個字母中抽取3個組成的字串為:
aaaaab
aacaad
abaabb
abcabd
acaacb
accacd
adaadb
adcadd
baabab
bacbad
bbabbb
bbcbbd
bcabcb
bccbcd
bdabdb
bdcbdd
caacab
caccad
cbacbb
cbccbd
ccaccb
cccccd
cdacdb
cdccdd
daadab
dacdad
dbadbb
dbcdbd
dcadcb
dccdcd
ddaddb
ddcddd
編寫主函式,輸入整數m和n,呼叫函式顯示構造的字串。
輸入格式:兩個整數,分別表示字元數和字串的長度,用空格隔開。資料均小於10。
輸出格式:構造的字串,每行乙個,末尾無空格。
輸入樣例:
4 3輸出樣例:
aaaaab
aacaad
abaabb
abcabd
acaacb
accacd
adaadb
adcadd
baabab
bacbad
bbabbb
bbcbbd
bcabcb
bccbcd
bdabdb
bdcbdd
caacab
caccad
cbacbb
cbccbd
ccaccb
cccccd
cdacdb
cdccdd
daadab
dacdad
dbadbb
dbcdbd
dcadcb
dccdcd
ddaddb
ddcddd
(題目**於網路)
//遞迴構造可重複字串
#include
using
namespace std;
char a[
100]
;char c[
100]
;voidf(
int step,
int n,
int m)
for(
int i =
1; i <= n; i++)}
intmain()
//遞迴構造可重複字串
#include
using namespace std;
char a[100];
char c[100];
void f(int step, int n, int m)
for (int i = 1; i <= n; i++)
}int main()
//自然數的拆分
#include
using
namespace std;
voidf(
int a,
int step,
int n,
const
int n)
for(
int i =
1; i <= n; i++)}
}int
main()
; cin >> n;
f(a,
1, n, n)
;return0;
}
第3周中級練習 owefhowefwef
1.計算1 2 3 n 題目內容 輸入n 0 輸入n 0 include using namespace std intmain cout sum return0 2.題目內容 求a aa aaa aaaa aa a 第n項,n個a 其中a是1 9的整數。例如,a 1,n 3時,式子為1 11 11...
第二週中級練習
題目內容 輸入4字元的單詞 小寫 將每個字母轉換為其在字母表中的序號 00 25 輸出 不夠兩位的前面補0 例如,輸入atom,輸出00191412 輸入格式 連續的四個小寫字母,表示乙個4字母單詞。輸出格式 8個0 9的數字,中間無空格。輸入樣例 atom 輸出樣例 時間限制 500ms記憶體限制...
第三週中級練習
題目內容 輸入n 0輸入格式 整數n 0輸出格式 非負整數 輸入樣例 輸出樣例 include using namespace std intmain cout return0 題目內容 求a aa aaa aaaa aa a 第n項,n個a 其中a是1 9的整數。例如,a 1,n 3時,式子為1 ...