1092 邏輯思維專題(115)
主題大綱
-
- 基本螢幕輸出 指令:cout<<"Hello!";
- 基本鍵盤輸入進變數 指令:cin>>name;
- 宣告變數
- 整數 int age;
- 浮點數 float score;
-
for (i=1;i<=10;i=i+1)
{
cout<<"hello!";
}for (i=1;i<=10;i=i+1)
{
cout<<i;
}- 雖然for 迴圈反覆執行相同語句,但這些語句每次執行效果往往不同。
- 編寫程式時,要特別留意變數的改變。
- 建議盡量縮短變數的定義範圍,例如在for迴圈的出數畫部分定義迴圈變數。
- continue; 是指跳回for迴圈的開始,執行下一次迴圈。
- break; 是指直接跳出迴圈。
- for 迴圈中三個部分都是可以省略的,例如:
for (int x=1; ; x++) - for (;;) 代表什麼意思?
巢狀迴圈
- for 迴圈內還有 for 迴圈
-
-
- 當迴圈次數是不確定的,而且計數 i 也不是「遞增」方式,則改用while迴圈來實作
- 可以用一個變數來充當計數器
- 變數在未指定值之前的值是不確定的,它不一定等於0
- 在無法找出錯誤時,可以「輸出中間結果」的方法來查找錯誤
while (條件式)
{
要重複做的事情
}i=0;
while (i<=10){
cout<<"hello";
i=i+1;}
-
- 變數太多?同類型的可不可以用好方法解決...
- 輸入十個同學的成績,請讓使用者查詢第幾位同學的成績。
- int score[10];
- 從0開始.. :)
-
-
選擇排序演算法(Selection Sort)
是一種簡單容易理解的演算法,其概念是反覆從未排序的數列中取出最小的元素,加入到另一個的數列,結果即為已排序的數列。運算流程如下:
- 從未排序的數列中找到最小的元素。
- 將此元素與未排序部分的第一個元素進行交換。
- 重複以上動作直到未排序數列全部處理完成。
範例:
8 2 1 5 3 4 6 7
1 2 8 5 3 4 6 7
1 2 8 5 3 4 6 7
1 2 3 5 8 4 6 7
1 2 3 4 8 5 6 7
1 2 3 4 5 8 6 7
1 2 3 4 5 6 8 7
1 2 3 4 5 6 7 8
氣泡排序演算法(Bubble Sort)
將最大的數值移動到陣列最後面,而較小的數值則逐漸的往陣列前端移動,就像有許多氣泡慢慢從底部浮出,因此成為氣泡排序法。運算流程如下:
- 比較相鄰的兩個元素,若前面的元素較大就進行交換。
- 重複進行1的動作直到最後面,最後一個元素將會是最大值。
- 重複進行1,2的動作,每次比較到上一輪的最後一個元素。
- 重複進行以上動作直到沒有元素需要比較。
範例:
8 2 1 5 3 4 6 7
2 8 1 5 3 4 6 7
2 1 8 5 3 4 6 7
2 1 5 8 3 4 6 7
2 1 5 3 8 4 6 7
2 1 5 3 4 8 6 7
2 1 5 3 4 6 8 7
2 1 5 3 4 6 7 8
1 2 5 3 4 6 7 8
1 2 5 3 4 6 7 8
1 2 3 5 4 6 7 8
1 2 3 4 5 6 7 8
- 氣泡排序法
- 插入排序法
- 選擇排序法
-
int x[10][5];
-
string 是 C++ 提供的字串型態,和 C 的字串相比,除了有不限長度的優點外,還有其他許多方便的功能。要使用 string, 必須先加入這一行:
#include <string>
接下來要宣告一個字串變數,可以寫成:
string s;
讀取一行含空白的字串,可以寫成:
getline(cin,s);
字串長度
s.length();
-
挑戰一:讓使用者輸入一個數字,輸出這個數所有的因數。
挑戰二:讓使用者輸入一個數字,輸出這個數的因數個數。
挑戰三:讓使用者輸入一個數字,判斷這個數是否為質數。
挑戰四:讓使用者輸入一個數字,輸出2~這個數字範圍內所有的質數。
-