第十一週做業

第十一週做業

此次做業屬於哪一個課程 C語言程序設計
此次做業要求在哪 要求
我在這個課程的目標是 學會運用字符排序
這個做業在那個具體方面幫助我實現目標 字符串的計數和排序
參考文獻 c語言教科書和大佬博客

第一題

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

代碼

#include<stdio.h>
void hanio (int n,char a,char b,char c);
int main ()
{
	int n;
	scanf("%d",&n);
	hanio (n,'a','b','c');
	return 0;
 } 
 void hanio (int n,char a,char b,char c)
 {
 	if(n==1) {
 		printf("n: %c->%c\n",n,a,b);
		 }
		 else {
		 	hanio (n-1,a,c,b);
		 	printf("%d: %c->%c\n",n,a,b);
		 	hanio (n-1,c,b,a);
		 }
	 }

流程圖

學習總結

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較困惑的問題
3/9-3/15 3d 100 文件創建及其文件的利用
3/15-3/18 4d 150 二位數組和暴力解法 最大子數組最優的解法是什麼,如何下降時間複雜度
3/18-3/19 5d 250 選擇排序法 我沒有徹底消化選擇排序法的思路
3/25-3/29 5d 250 冒泡排序不會 指針也不會
3/29-4/5 5d 300 指針的具體用法 函數和指針的結合
4/5-4/12 6d 350 字符數組和指針的結合 綜合運用的方法
4/12-419 6d 400 指針函數和數組函數 拓展函數
5/5-5/10 6d 200 宏定義 基本知識

折線圖設計

周/日期 這周所花的時間 代碼行
3/9-3/15 3d 100
3/15-3/18 4d 150
3/18-3/19 5d 250
3/25-3/29 5d 250
3/29-4/5 5d 300
4/5-4/12 6d 350
4/12-419 6d 400
5/5-5/10 6d 200
5/5-5/10 6d 200
相關文章
相關標籤/搜索