2019春第十一周作業

2022-06-26 08:03:11 字數 4088 閱讀 6857

這個作業屬於那個課程

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