2019春第十一周作業

2022-05-08 05:18:14 字數 3334 閱讀 6666

這個作業屬於那個課程

c語言程式設計ii

這個作業要求在**

第十一周作業要求

我在這個課程的目標是

能夠對相對複雜的問題,合理定義程式的多函式結構;能夠使用遞迴函式進行程式設計;掌握巨集的基本用法;掌握編譯預處理的概念

這個作業在哪個具體方面幫助我實現目標

鍛鍊了我的程式設計能力,加深了我對遞迴、結構的認識

參考文獻

c語言程式設計ii第十章

漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著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

#includevoid hanot(int n,char a,char c,char b);

int main(void)

void hanot(int n,char a,char c,char b) //一定要注意!!這不是塔a,c,b。是字元變數a.c.b。所以它裡面存的是字元a(塔),b(塔),c(塔)。作用是把字元變數a裡的(塔)上的盤子移動到字元變數c裡的(塔)上的盤子,借助字元變數b裡的(塔)。

具體思路:必須有三個塔才能搬,並且每個塔的作用可能每次都會不一樣,所以就得把塔設定為字元變數,形參char a是被搬動的塔,char c是目標塔,char b是中間塔。

遇到的問題:看不懂,

解決的方法:和室友交流,一起溝通,在2019//5//9已經完全懂了怎麼實現的了。

} i++; /*下乙個字母*/ }

str1[a]='\0'; /*新增字串結束標記*/

if(str1[a-1]==' ')

i=0;

while(str1[i]!='\0')

} /*判斷是否為could you*/

if(str1[i]=='c'&&str1[i+1]=='o'&&str1[i+2]=='u'&&str1[i+3]=='l'&&str1[i+4]=='d'&&str1[i+5]==' '&&str1[i+6]=='y'&&str1[i+7]=='o'&&str1[i+8]=='u')

} /*判斷i是否獨立(「獨立」是指被空格或標點符號分隔開的單詞)*/

if(str1[i]=='i'&&((str1[i-1]'z')&&(str1[i-1]'z'))&&((str1[i+1]'z')&&(str1[i+1]'z')))

/*判斷me是否獨立(「獨立」是指被空格或標點符號分隔開的單詞)*/

if((str1[i]=='m'&&str1[i+1]=='e')&&((str1[i-1]'z')&&(str1[i-1]'z'))&&((str1[i+2]'z')&&(str1[i+2]'z')))

i++;

} /*輸出改變後的字串,'8'轉義為空,('5''6')轉義為you,'7'轉義為you*/

printf("%s\nai: ",str[b]);

y=strlen(str1);

for(i=0;i#includevoid change(char str[1001],char str1[1001],int b);

void specific_change(char str1[1001]);

void printf_(char str1[1001]);

int main(void)

else

}else

else

else}}

}i++; /*下乙個字母*/

}str1[a]='\0'; /*新增字串結束標記*/

if(str1[a-1]==' ')

} void specific_change(char str1[1001]) /*轉義,轉換*/

}/*判斷是否為could you*/

if(str1[i]=='c'&&str1[i+1]=='o'&&str1[i+2]=='u'&&str1[i+3]=='l'&&str1[i+4]=='d'&&str1[i+5]==' '&&str1[i+6]=='y'&&str1[i+7]=='o'&&str1[i+8]=='u')

}/*判斷i是否獨立(「獨立」是指被空格或標點符號分隔開的單詞)*/

if(str1[i]=='i'&&((str1[i-1]'z')&&(str1[i-1]'z'))&&((str1[i+1]'z')&&(str1[i+1]'z')))

/*判斷me是否獨立(「獨立」是指被空格或標點符號分隔開的單詞)*/

if((str1[i]=='m'&&str1[i+1]=='e')&&((str1[i-1]'z')&&(str1[i-1]'z'))&&((str1[i+2]'z')&&(str1[i+2]'z')))

i++;

}}void printf_(char str1[1001]) /*輸出改變後的字串,'8'轉義為空,('5''6')轉義為you,'7'轉義為you*/

return 0;

}void queen(int i,int j)

if(check(i,j)==1); 結構指標next指向下乙個同型別的結構首位址,可以通過next找到下乙個結構。

2019春第十一周作業

這個作業屬於哪個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 學會c語言,能用其編寫出實用程式 這個作業在那個具體方面幫助我實現目標 遞迴,漢諾塔問題 參考文獻 c語言程式設計ii 漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下...

2019春第十一周作業

這個作業屬於那個課程 c語言程式設計 這個作業要求在 我在這個課程的目標是 學會遞迴 這個作業在哪個具體方面幫助我實現目標 漢諾塔參考文獻 單選題 7 1 漢諾塔問題 10 分 漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著6...

2019春第十一周作業

這個作業屬於那個課程 c語言程式設計2 這個作業要求在 我在這個課程的目標是 理解什麼是遞迴函式 這個作業在那個具體方面幫助我實現目標 掌握如何運用遞迴函式 參考文獻 2019春第十一周作業 基礎題 7 1 漢諾塔問題 10 分 漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三...