一、陣列是什麼?
陣列可以將相同類型的值整合起來儲存,整合之後在陣列中的每個數值稱為陣列的元素。
二、陣列的使用
宣告
類型 陣列名稱[元素數量]
例如:
int test[5]; //宣告一個test陣列,內有5個int元素,陣列的索引值從0~4
設定個元素的值
int test[5];
test[0]=80;
test[1]=60;
test[2]=75;
test[3]=52;
test[4]=96;
for(int i=0;i<=4;i++){
cout<<"test["<<i<<"]的值為"<<test[i]<<endl;
}
也可在宣告陣列時設定各元素的值
int test[5]={80,60,75,52,96};
4.使用for迴圈從鍵盤輸入多個數字至陣列
for(int i=0;i<=4;i++){
cin>>test[i];
}
三、把陣列當作參數
假設我們定義一個avg的函數,avg函數會將一個n元素的陣列算出平均值
#include <iostream>
using namespace std;
int n; //全域變數
float avg(int a[]){
float sum=0;
for(int i=0;i<=(n-1);i++){
sum=sum+a[i];
}
return sum/n;
}
int main(){
cout<<"資料數:";
cin>>n;
int test[n];
float ans;
cout<<"請輸入"<<n<<"筆成績";
for(int i=0;i<=(n-1);i++){
cin>>test[i];
}
ans=avg(test);
cout<<n<<"筆成績的平均為"<<ans<<endl;
}
今日作業:
定義一個max的函數,max函數會將一個n個元素的陣列找出最大值
注意:陣列長度必須能隨資料數而改變
參考答案
#include <iostream>
using namespace std;
int n; //全域變數
int max(int a[]){
int M=0;
for(int i=0;i<=(n-1);i++){
if(a[i]>=M)
M=a[i];
}
return M;
}
int main(){
cout<<"資料數:";
cin>>n;
int test[n];
int ans;
cout<<"請輸入"<<n<<"筆資料";
for(int i=0;i<=(n-1);i++){
cin>>test[i];
}
ans=max(test);
cout<<"最大值為:"<<ans<<endl;