這個作業的要求在**
這個作業屬於哪個課程 c語言程式設計
我在這個課程的目標是 能夠找到並應用遞迴進行程式設計
這個作業要求在** 利用遞迴將題目簡單化
這個作業在那個具體方面幫助我實現目標 弄清遞迴函式的結構與程式設計
7-1 漢諾塔問題* (10 分)
漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片**圓盤,大梵天命令僧侶把圓盤移到另一根柱子上,並且規定:在小圓盤上不能放大圓盤,每次只能移動乙個圓盤。當所有圓盤都移到另一根柱子上時,世界就會毀滅。
請編寫程式,輸入漢諾塔圓片的數量,輸出移動漢諾塔的步驟。
輸入格式
圓盤數 起始柱 目的柱 過度柱
輸出格式
移動漢諾塔的步驟
每行顯示一步操作,具體格式為:
碟片號: 起始柱 -> 目的柱
其中碟片號從 1 開始由小到大順序編號。
輸入樣例
3a c b
輸出樣例
1: a -> c
2: a -> b
1: c -> b
3: a -> c
1: b -> a
2: b -> c
1: a -> c
一:實驗**
void hanio(int n,char a,char c,char b);
int main(void)
void hanio(int n,char a,char c,char b)
}設計思路;
遇到的問題:
**放到devc++沒問題,但是答案錯誤
解決:檢查後發現輸出樣例有1: ,所以在加了%d:後解決了
感受:這個題目雖然是書上的原題,但是改了輸入和輸出樣例,還是有點難度的
7-2 估值一億的ai核心**
本題要求你實現乙個稍微更值錢一點的 ai 英文問答程式,規則是:
無論使用者說什麼,首先把對方說的話在一行中原樣列印出來;
消除原文中多餘空格:把相鄰單詞間的多個空格換成 1 個空格,把行首尾的空格全部刪掉,把標點符號前面的空格刪掉;
把原文中所有大寫英文本母變成小寫,除了 i;
把原文中所有獨立的 can you、could you 對應地換成 i can、i could—— 這裡「獨立」是指被空格或標點符號分隔開的單詞;
把原文中所有獨立的 i 和 me 換成 you;
把原文中所有的問號 ? 換成驚嘆號 !;
在一行中輸出替換後的句子作為 ai 的回答。
輸入格式:
輸入首先在第一行給出不超過 10 的正整數 n,隨後 n 行,每行給出一句不超過 1000 個字元的、以回車結尾的使用者的對話,對話為非空字串,僅包括字母、數字、空格、可見的半形標點符號。
輸出格式:
按題面要求輸出,每個 ai 的回答前要加上 ai: 和乙個空格。
輸入樣例:
6hello ?
good to chat with you
can you speak chinese?
really?
could you show me 5
what is this prime? i,don 't know
輸出樣例:
hello ?
ai: hello!
good to chat with you
ai: good to chat with you
can you speak chinese?
ai: i can speak chinese!
really?
ai: really!
could you show me 5
ai: i could show you 5
what is this prime? i,don 't know
ai: what is this prime! you,don't know
預習作業
請舉例項解釋以下幾個概念:陣列指標,指標陣列,指標函式,函式指標,二級指標,單向鍊錶
1.指標陣列
指標陣列強調的是陣列,並且陣列元素是指標型別
例:int arr[5]//arr是乙個陣列,陣列元素是指標(int)
2.陣列指標
陣列指標強調的是指標,並且這個指標指向乙個陣列,即指標變數存放的是陣列位址
例:int (*arr)[5]//arr是乙個指標,並且指向乙個含有5個整型元素的陣列
3.函式指標
函式指標強調指標,並且這個指標指向乙個函式,即指標變數儲存的是函式的位址
例:void test(char* str);
void (p)(char)//p是乙個指標,並且指向乙個函式,這個函式引數是char,返回型別是void型
4.指標函式
函式的返回值為指標的函式,比如: char char1(char ch,int n) char1為指標函式
5.二級指標
指向指標的指標,比如:int p; p為二級指標。
6.單向鍊錶
結構體內的成員包含指向自身結構體的結構指標。 比如:struct num; 結構指標next指向下乙個同型別的結構首位址,可以通過next找到下乙個結構。
部分參考
學習感悟:經過這次作業,發現自己的知識面太短了,思維也有點提不上去,有時甚至乙個正確答案的**擺在眼前,我都讀不懂,感覺挺受挫的,但是想想辦法總比辦法多,多看些課外教材提公升一下還是很有必要的
第十一周作業
1 tabcontrol imagelist panel功能演示 2 timer picturebox splitcontainer contextmenustrip控制項功能演示 設定三個控制項的以下屬性和事件 a.picturebox控制項的三個屬性 picture.image 匯入資源 pic...
第十一周作業
漢諾塔問題 10 分 漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片 圓盤,大梵天命令僧侶把圓盤移到另一根柱子上,並且規定 在小圓盤上不能放大圓盤,每次 只能移動乙個圓盤。當所有圓盤都移到另一根柱子上時,世界就會毀滅。請...
第十一周作業
這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 學習並熟練運用遞迴函式 這個作業在那個具體方面幫助我實現目標 完成漢諾塔問題 參考文獻 c語言程式設計ii 基礎作業 單選題 2 1巨集定義 define div a,b a b 經div x 5,y 5 引用,替換展開...