[ 陣列 Array ]

為何要有陣列?

陣列的用途

1. 儲存資料 :以有序的方式儲存多項相同類型的資料。

int a[4]={1,2,3,4};

2. 搜尋資料 :利用索引來找尋陣列中某筆資料(索引是從0開始)

cout<<a[2];//3

3. 迭代 :透過for迴圈將集合內的每個元素瀏覽一遍

for(int i=0;i<4;i++)
{
    cout<<a[i];//1234
}

4. 多維陣列 :陣列不僅可以是一維的,也可以是多維的,如二維陣列

                            可變為矩陣

string a[3][3] = {{"x1", "y1", "z1"}, {"x2", "y2", "z2"}, {"x3", "y3", "z3"}};

[ 一維陣列 ]

int a1=2, a2=4, a3=6, a4=8

int a[4]={2, 4, 6, 8}

型別 名稱[空間數]={資料(可寫可不寫)}

a[0] a[1] a[2] a[3]
2 4 6 8

輸入資料

#include <iostream>
using namespace std;

int main()
{
    int a [3];
    
    a[2]=45;

    return 0;
}

單筆資料

多筆資料

#include <iostream>
using namespace std;

int main()
{
    int a [3];
    
    for(int i=0;i<3;i++)
    {
        cin>>a[i];
    }

    return 0;
}

輸出資料

#include <iostream>
using namespace std;

int main()
{
    int a [3]={1,2,3};
    
    cout<<a[0]//1

    return 0;
}

單筆資料

多筆資料

#include <iostream>
using namespace std;

int main()
{
    int a [3]={1,2,3};
    
    for(int i=0;i<3;i++)
    {
        cout>>a[i];//123
    }

    return 0;
}

成績相加

今天小明想利用程式來計算這次段考的總成績,你可以幫幫他嗎?

(五科成績分別是 國文78.5 數學93 英文85 自然79 社會63)

#include <iostream>
using namespace std;

int main()
{
    float a [5]={78.5,93,85,79,63},sum=0;
    
    
    for(int i=0;i<5;i++)
    {
        sum+=a[i];
    }
    
    cout<<sum;

    return 0;
}

sum=0

sum=0+78.5=78.5

sum=78.5+93=171.5

sum=171.5+85=256.5

sum=256.5+79=335.5

sum=335.5+63=398.5

尋找中位數

今天老師輸入n個由小到大的數值,希望能請你找出當中的中位數m

範例輸入

範例輸出

範例1

5

15 47 68 73 89

範例1

68

範例2

8

45 67 74 78 81 83 94 98

範例2

79.5

尋找中位數

#include <iostream>
using namespace std;
int main()
{
    int n,s=0;
    float m;
    cin>>n;
    float a[n];
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    if(n%2==1){
        s=(n-1)/2;
        m=a[s];
    }
    else{
        s=n/2;
        m=(a[s]+a[s-1])/2;
    }
    cout<<m;

    return 0;
}

[ kahoot ]

array(試教)

By chainy

array(試教)

  • 118