第6周中級練習 fehwuifhd

2021-10-10 04:25:02 字數 3961 閱讀 2658

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 ...