Array(陣列) Anny Email: anny@fg.tp.edu.tw http://www.fg.tp.edu.tw/~anny
94學年度資訊專題研究講義--陣列(Array) 20051109 陣列(array) 定義:是一群具有相同名稱以及相同型別的記憶體位置。 若要引用陣列的某個位置或元素,我們必須指定陣列名稱,以及此元素在陣列中的位置編號 例如: int A[5]; A[3]=A[1]+A[2]; Anny
一維Array 的宣告 整數陣列的宣告 int student[5]; 意義:宣告了5個int大小的連續空間,名稱 為student,沒有預設值,則為系統殘值。 int int int int int student student[0] student[1] student[2] student[3] student[4]
一維Array 的宣告 整數陣列的宣告 int student[5]={0}; 意義:宣告了5個int大小的連續空間,名稱 為student, 且裏面的值皆預設為0。 student student[0] student[1] student[4] student[2] student[3]
一維Array 的宣告 整數陣列的宣告 int student[5]={1,3,4,6,7}; 意義:宣告了5個int大小的連續空間,名稱 為student, 其預設值如下: 1 3 4 6 7 student student[0] student[1] student[4] student[2] student[3]
一維Array 的宣告 浮點數陣列的宣告 float num[4]={1.2,3.2,4.5}; 意義:宣告了4個float大小的連續空間,名稱 為num, 其預設值如下: 1.2 3.2 4.5 num num[0] num[1] num[2] num[3]
94學年度資訊專題研究講義--陣列(Array) 20051109 一維Array 的宣告 字元陣列的宣告—常用來儲存字串 char name[10]="John"; 意義:宣告了10個char大小的連續空間,名稱 為name, 其預設值如下: char name[10]={'J','o','h','n'}; char name[10]; 'J' 'o' 'h' 'n' name name[0] name[1] name[2] name[8] name[9] Anny
定義陣列 請畫出示意圖: int c[12]; int b[100], x[27]; float a[3]={2.1, 3.2, 3.3}
畫下結果 int i, a[10]; for (i=0; i<10; i++) a[i] = i; 請問a[5]=? char name[6]; name[0] = 'J'; name[1] = 'a'; name[2] = 'm'; name[3] = 'e'; name[4] = 's'; name[5] = '\0'; printf("%s",name); 請問a[5]=? 請問name是什麼?
練習:輸入10個學生成績,並算平均 int i, stuscore[10], total=0; #include <stdio.h> #include <stdlib.h> Int main() { int i, stuscore[10], total=0; for ( ; ; ) { printf("請輸入%d號成績:", ); scanf(" ", ); } for ( ; ; ) total = total + stuscore[i]; printf("平均為:%f \n", ); system("PAUSE"); return 0; }
Array 使用範例一:比較大小 A int 74 48 30 17 62 i max min int i 1 2 3 4 A[0] #include <stdio.h> #include <stdlib.h> int main() { int A[5]={74,48,30,17,62}; int i,min,max; min=max=A[0]; printf("elements in array A are "); for(i=0;i<5;i++) printf("%d ",A[i]); if(A[i]>max) /* 判斷最大值 */ max=A[i]; if(A[i]<min) /* 判斷最小值 */ min=A[i]; } printf("\nMaximum is %d",max); printf("\nMinimum is %d\n",min); system(“PAUSE”); return 0; 74 48 30 17 62 i max min int i A[i]>max A[i]<min max min 1 2 3 4
Array 的運用—寫下這個程式在做什麼 #include <stdio.h> #include <stdlib.h> int main() { int f[10]; int i; f[0]=1,f[1]=1; for (i=2; i<10; i++){ f[i]=f[i-1]+f[i-2]; } return 0; }
練習:搜尋(Search) 請設計一程式,讓亂數產生100個(1-100)的數存入陣列a中。當使用者輸入1數,搜尋它出現在此陣列中的第幾個。 提示: srand( (unsigned) time(NULL) ); for (i= 1; i<=100; i++) a[i] = rand() % 100 + 1;