練習題
先來看幾道練習題:
1.列印楊輝三角
分析 :
楊輝三角是怎樣的乙個三角呢 他是這個樣子的
11 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
通過觀察我們可以發現,每乙個數字是他上面的數字和他上面數字的前面的數字之和。
當然 ,最簡單 的方法就是使用二維陣列。那麼 表示式就可以寫出來a[i][j]=a[i-1][j-1]+a[i-1][j]
注意:在初始化的時候應該注意 。這將影響到後面的計算。
**實現
#include
using namespace std;
intmain()
;for
(int i =
1; i <=
10; i++
) cout << endl;
}system
("pause");
return0;
}
這個方法是最容易也是最簡單的乙個方法,在這裡 ,我在給出乙個方法,使用一位陣列,但是 他計算的時候要從後往前計算,至於為什麼呢?
有興趣的人可以下去思考一下
#include
using namespace std;
intmain()
for(
int k =
0; k <= i; k++
) cout << endl;
}system
("pause");
return0;
}
2.氣泡排序
氣泡排序 是最常見的一種排序,也是很常考的一種排序,氣泡排序的思想是兩兩比較,不斷迴圈,直到陣列有序,我們知道 ,普通的氣泡排序只是單方向進行。而且不能判斷有序時候它是否會停止。
在這裡 我給出乙個改良版本,第一,他解決了排好序後多餘的迴圈,第二 ,他雙向排序,迴圈次數大大減少
#include
#include
using namespace std;
// 氣泡排序(雙向)
void
swap
(int
*a,int
*b);
void
bubblesort
(int a,
int len)
;void
printarray
(int arr,
int n)
;void
swap
(int
*a,int
*b)void
bubblesort
(int a,
int len)
} right = temp;
for(i = right; i > left; i--)}
left = temp;if(
!flag)}}
void
printarray
(int arr,
int n)
cout << endl;
}int
main()
;int len =
sizeof
(a)/
sizeof
(a[0])
;printarray
(a, len)
;bubblesort
(a, len)
;printarray
(a, len)
;system
("pause");
return0;
}
3.斐波那契數列
分析:1 1 2 3 5 8 13 21 34 55
他的每一位數就等於前面兩個數之和。
那麼 ,我們就可以定義乙個一維陣列,他的每乙個數的計算表示式就是a[i]=a[i-1]+a[i-2]
我們可以給定前面兩個元素的值,從下標為2的位置開始計算。但是不要忘了 ,列印是從下標為0開始。
#include
intmain()
;for
(int i =
2; i <
20; i++
)for
(int i =
0; i <
20; i++
)printf
("\n");
system
("pause");
return0;
}
4。列印如下數字
1 2 3 4 5 6
12 23 34 45 56
123 234 345 456
1234 2345 3456
12345 23456
123456
分析:總共列印六行 我們可以記錄乙個數字s
每個數字 第一位用i來表示,最後一位用j來表示。
那麼,現在就是找規律 ,i和j
到底初始值和結束值該怎麼樣定義?
我們會發現,當s=2時,i從1-5
當s=3,i從1-4
當s=4,i從1-3
我們就會發現 我們的i值初始值一直是1,結束值等於n-s+1
那麼我們的j=i+s-1
#include
intmain()
printf
("\t ");
}printf
("\n");
}system
("pause");
return0;
}
迴圈斐波那契數列 斐波那契數列應用
什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...
迴圈斐波那契數列 用Python實現斐波那契數列
斐波那契數列 fibonacci sequence 又稱 分割 數列 因 數學家萊昂 納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 最開始我一直不能理解兔子問題怎麼和斐波那契數列聯絡在一起的,然後畫了這個圖之後,就明白了。第一年有一對小兔子,一...
迴圈結構 (斐波那契數列)
while 迴圈條件 while 迴圈條件 特點 先執行,再判斷 執行次序不同 初始情況不滿足迴圈條件時 while迴圈一次都不會執行 do while迴圈不管任何情況都至少執行一次 for迴圈,迴圈次數確定,簡潔。for 引數初始化 條件判斷 更新迴圈變數 兔子問題 有個人想知道,一年之內一對兔子...