這個作業屬於那個課程
c語言程式設計2
這個作業要求在**
我在這個課程的目標是
理解什麼是遞迴函式
這個作業在那個具體方面幫助我實現目標
掌握如何運用遞迴函式
參考文獻
2019春第十一周作業——基礎題
7-1 漢諾塔問題* (10 分)
漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片**圓盤,大梵天命令僧侶把圓盤移到另一根柱子上,並且規定:在小圓盤上不能放大圓盤,每次只能移動乙個圓盤。當所有圓盤都移到另一根柱子上時,世界就會毀滅。
請編寫程式,輸入漢諾塔圓片的數量,輸出移動漢諾塔的步驟。
輸入格式
圓盤數 起始柱 目的柱 過度柱
輸出格式
移動漢諾塔的步驟
每行顯示一步操作,具體格式為:
碟片號: 起始柱 -> 目的柱
其中碟片號從 1 開始由小到大順序編號。
輸入樣例
3
a c b
輸出樣例
1: a -> c
2: a -> b
1: c -> b
3: a -> c
1: b -> a
2: b -> c
1: a -> c
實驗**:
#includevoid change(int n,char a,char b,char c);
int main()
void change(int n,char a,char b,char c)
else
}
實驗思路:
按照老師上課所講的,運用遞迴函式的性質,在移動盤的時候總有重複的步驟。
流程圖:
錯誤原因:
忘記截錯誤圖了,而錯誤的原因則是因為我沒有弄清楚哪乙個是過度柱子。
正確截圖:
7-2 估值一億的ai核心** (20 分)
無論使用者說什麼,首先把對方說的話在一行中原樣列印出來;
消除原文中多餘空格:把相鄰單詞間的多個空格換成 1 個空格,把行首尾的空格全部刪掉,把標點符號前面的空格刪掉;
把原文中所有大寫英文本母變成小寫,除了 i;
把原文中所有獨立的 can you、could you 對應地換成 i can、i could—— 這裡「獨立」是指被空格或標點符號分隔開的單詞;
把原文中所有獨立的 i 和 me 換成 you;
把原文中所有的問號 ? 換成驚嘆號 !;
在一行中輸出替換後的句子作為 ai 的回答。
輸入格式:
輸入首先在第一行給出不超過 10 的正整數 n,隨後 n 行,每行給出一句不超過 1000 個字元的、以回車結尾的使用者的對話,對話為非空字串,僅包括字母、數字、空格、可見
的半形標點符號。
輸出格式:
按題面要求輸出,每個 ai 的回答前要加上 ai: 和乙個空格。
輸入樣例:
6
hello ?
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
實驗**:
#include #include int fx(char m);
char gx(char m);
int main()
lk=0;
ff=1;
b[lb++]=gx(a[i]);}}
b[lb]=0;
printf("ai: ");
for(int i=0;i='0' && m<='9')
if(m>='a' && m<='z')
if(m>='a' && m<='z')
return 0;
}char gx(char m)else
}return m;
}
實驗思路:
我是根據下面的鏈結完成的:
正確截圖:
指標陣列是乙個陣列,陣列的元素儲存的是指標;而陣列指標是乙個指標,該指標指向的是乙個陣列;
指標函式是乙個函式,該函式返回的是乙個指標;而函式指標是乙個指標,該指標指向乙個函式;
周/日期
這週所花時間
**行數
目前比較迷茫的問題
學到的知識點
第一周/2月25日
八個小時
66行無
陣列的下標和數的關係
第二週/3月4日
五個小時
60行無
檔案的初步使用
第三週/3月18
一天102行
這一次的題目有點難,正在努力學習中。
熟練檔案的格式和二位陣列的使用
第四周/3月25日
一天80行
二維陣列的運用總是有小問題
選擇排序法和氣泡排序法
第五周/3月29日
兩天120行
二維陣列的運用不熟練
判斷回文
第六周/4月6日
兩天80行
指標運用中有些不理解
指標之間的互換
第七周/4月12日
兩天177行
字元型的陣列輸入遇到一些困難
用指標寫呼叫函式
第八周/4月19日
一天124行
字元型的陣列輸入遇到一些困難
動態記憶體分配
第九周/4月25日
一天68行
無結構的運用
第十周/5月10日
一天113行
遞迴函式的理解可以但是運用到實列中有很大的困難
遞迴函式的運用
結對程式設計感言:
和隊友結對程式設計中,隊友能很好地理解我的**,基本的程式設計知識都懂,感覺很輕鬆。
2019春第十一周作業
這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 第十一周作業要求 我在這個課程的目標是 能夠對相對複雜的問題,合理定義程式的多函式結構 能夠使用遞迴函式進行程式設計 掌握巨集的基本用法 掌握編譯預處理的概念 這個作業在哪個具體方面幫助我實現目標 鍛鍊了我的程式設計能力,加深了我對遞迴 結構...
2019春第十一周作業
這個作業屬於哪個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 學會c語言,能用其編寫出實用程式 這個作業在那個具體方面幫助我實現目標 遞迴,漢諾塔問題 參考文獻 c語言程式設計ii 漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下...
2019春第十一周作業
這個作業屬於那個課程 c語言程式設計 這個作業要求在 我在這個課程的目標是 學會遞迴 這個作業在哪個具體方面幫助我實現目標 漢諾塔參考文獻 單選題 7 1 漢諾塔問題 10 分 漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著6...