PowerPoint Presentation

Size: px
Start display at page:

Download "PowerPoint Presentation"

Transcription

1 Chapter 6 Arrays ( 陣列 ) 1 Outline 6.1 Introduction 6.2 Arrays 6.3 Declaring Arrays 6.4 Examples Using Arrays 6.5 Passing Arrays to Functions 6.6 Sorting Arrays 6.7 Case Study: Computing Mean, Median and Mode Using Arrays 6.8 Searching Arrays 6.9 Multiple-Subscripted Arrays

2 2 Objectives In this chapter, you will learn: To introduce the array data structure. To understand the use of arrays to store, sort and search lists and tables of values. To understand how to define an array, initialize an array and refer to individual elements of an array. To be able to pass arrays to functions. To understand basic sorting techniques. To be able to define and manipulate multiple subscript arrays.

3 3 6.1 Introduction Arrays Structures of related data items Static entity same size throughout program Dynamic data structures discussed in Chapter 12

4 4 6.2 Arrays Array Group of consecutive memory locations Same name and type To refer to an array element, need to specify Array name ( 陣列名稱 ) Position number ( 位置編號 ), or the subscript Format: arrayname[ position number ] First element at position 0 ( 編號從 0 開始 ) n element array named c: c[ 0 ], c[ 1 ]...c[ n 1 ]

5 5 6.2 Arrays Array elements are like normal variables c[ 0 ] = 3; printf( "%d", c[ 0 ] ); Can perform operations in subscript. If x equals 3, then c[ 5-2 ], c[ 3 ] and c[ x ] are the same If a = 5 and b = 6, then the statement c[ a + b ] += 2; adds 2 to array element c[ 11 ].

6 6 6.2 Arrays Operators Associativity Type [] () left to right highest ++ --! (type) right to left unary * / % left to right multiplicative + - left to right additive < <= > >= left to right relational ==!= left to right equality && left to right logical and left to right logical or?: right to left conditional = += -= *= /= %= right to left assignment, left to right comma Fig. 6.2 Operator precedence.

7 7 6.3 Defining Arrays When defining arrays, specify Name Type of array Number of elements arraytype arrayname[ numberofelements ]; Examples: int c[ 10 ]; float myarray[ 3284 ]; Defining multiple arrays of same type Format similar to regular variables Example: int b[ 100 ], x[ 27 ];

8 Initializers int n[ 5 ] = { 1, 2, 3, 4, 5 }; 8 If not enough initializers, rightmost elements become 0 int n[ 5 ] = { 0 };/* { 0, 0, 0, 0, 0 } */ int n[ 5 ] = { 1 };/* { 1, 0, 0, 0, 0 } */ If too many, a syntax error is produced int n[ 5 ] = { 1, 2, 3, 4, 5, 6 }; /*error!*/ C arrays have no bounds checking If size omitted, initializers determine it int n[ ] = { 1, 2, 3, 4, 5 }; 5 initializers, therefore 5 element array

9 1 /* Fig. 6.3: fig06_03.c 2 initializing an array */ 3 #include <stdio.h> 4 Defining an Array and Using a Loop to Initialize the Array's Elements 5 /* function main begins program execution */ 6 int main() 7 { 8 int n[ 10 ]; /* n is an array of 10 integers */ 9 int i; /* counter */ /* initialize elements of array n to 0 */ 12 for ( i = 0; i < 10; i++ ) { 13 n[ i ] = 0; /* set element at location i to 0 */ 14 } /* end for */ printf( "%s%13s\n", "Element", "Value" ); /* output contents of array n in tabular format */ 19 for ( i = 0; i < 10; i++ ) { 20 printf( "%7d%13d\n", i, n[ i ] ); 21 } /* end for */ return 0; /* indicates successful termination */ } /* Copyright end main by Deitel */ 宣告含十個元素的整數陣列 fig06_03.c 若改為 for ( i = 0 ; i <= 10; i++ ) 會如何? 此處 Element 與 Value 為兩個字串, 在 printf 中利用 %s 把字串輸出到螢幕 ; 注意第二個 %13s 中 13 表示給 13 個空位列印 Value 字串 9

10 Element Value Program Output 10

11 11 若改為 for ( i = 0 ; i <= 10; i++ ) 會如何? Caution: C 語言並不檢查索引值的大小 (No array bounds checking in C! ), 也就使說當索引值超過陣列長度時, 在編譯時不會發生錯誤, 但在執行程式時, 就會發生不可預期的錯誤, 而且這種錯誤有時並不容易檢查出來

12 12 Caution: C 語言並不檢查索引值的大小 (No array bounds checking in C! ), 也就使說當索引值超過陣列長度時, 在編譯時不會發生錯誤, 但在執行程式時, 就會發生不可預期的錯誤, 而且這種錯誤有時並不容易檢查出來

13 Initializing an Array in a Definition with an Initializer List 13 1 /* Fig. 6.4: fig06_04.c 2 Initializing an array with an initializer list */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 /* use initializer list to initialize array n */ 9 int n[ 10 ] = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 }; 10 int i; /* counter */ printf( "%s%13s\n", "Element", "Value" ); /* output contents of array in tabular format */ 15 for ( i = 0; i < 10; i++ ) { 16 printf( "%7d%13d\n", i, n[ i ] ); 17 } /* end for */ return 0; /* indicates successful termination */ } /* end main */ fig06_04.c 宣告含十個元素整數陣列, 同時設定各元素的值

14 Element Value Program Output 14

15 Specifying an Array's Size with a Symbolic Constant and Initializing Array Elements with Calculations 1 /* Fig. 6.5: fig06_05.c 2 Initialize the elements of array s to the even integers from 2 to 20 */ 3 #include <stdio.h> 4 #define SIZE /* function main begins program execution */ 7 int main() 8 { 9 /* symbolic constant SIZE can be used to specify array size */ 10 int s[ SIZE ]; /* array s has 10 elements */ 11 int j; /* counter */ for ( j = 0; j < SIZE; j++ ) { /* set the values */ 14 s[ j ] = * j; 15 } /* end for */ printf( "%s%13s\n", "Element", "Value" ); /* output contents of array s in tabular format */ 20 for ( j = 0; j < SIZE; j++ ) { 21 printf( "%7d%13d\n", j, s[ j ] ); 22 } /* end for */ return 0; /* indicates successful termination */ } /* Copyright end main by */ Deitel #define SIZE 10 # 前置處理器指令 (preprocessor directive) fig06_05.c Define a symbolic constant ( 符號常數 ) SIZE whose value is 10 Symbolic constant SIZE in the code is replaced by text 10 before compilation Makes programs more scalable ( 將來如果要調整陣列的大小, 只需重設 SIZE 的值即可 ) 習慣上 symbolic constant names 使用大寫字母 下面兩種是錯誤的寫法 ( 不可加 分號 ; 及 等號 = ) #define SIZE = 10 #define SIZE 10; 15

16 Element Value Program Output 16

17 Summing the Elements of an Array 17 1 /* Fig. 6.6: fig06_06.c 2 Compute the sum of the elements of the array */ 3 #include <stdio.h> 4 #define SIZE /* function main begins program execution */ 7 int main() 8 { 9 /* use initializer list to initialize array */ 10 int a[ SIZE ] = { 1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45 }; 11 int i; /* counter */ 12 int total = 0; /* sum of array */ /* sum contents of array a */ 15 for ( i = 0; i < SIZE; i++ ) { 16 total += a[ i ]; 17 } /* end for */ printf( "Total of array element values is %d\n", total ); return 0; /* indicates successful termination */ } /* end main */ Total of array element values is 383 fig06_06.c 在此計算各元素之和 ; total = total + a [ i ];

18 1 /* Fig. 6.7: fig06_07.c 2 Student poll program */ 3 #include <stdio.h> 4 #define RESPONSE_SIZE 40 /* define array sizes */ 5 #define FREQUENCY_SIZE /* function main begins program execution */ 8 int main() 9 { 10 int answer; /* counter */ 11 int rating; /* counter */ /* initialize frequency counters to 0 */ 14 int frequency[ FREQUENCY_SIZE ] = { 0 }; /* place survey responses in array responses */ 17 int responses[ RESPONSE_SIZE ] = { 1, 2, 6, 4, 8, 5, 9, 7, 8, 10, 18 1, 6, 3, 8, 6, 10, 3, 8, 2, 7, 6, 5, 7, 6, 8, 6, 7, 5, 6, 6, 19 5, 6, 7, 5, 6, 4, 8, 6, 8, 10 }; 20 Using Arrays to Summarize Survey Results Forty students were asked to rate the quality of the food in the student cafeteria on a scale of 1 to 10. Place the 40 responses in an integer array and summarize the results of the poll. 本範例中有兩個分別為 responses 及 frequency 的陣列 ; responses 為個別學生所打的分數所組成的陣列 ;frequency 則為出現某分數之次數所組成的 例如 frequency[ 1 ] 為將分數打為 1 的學生人數 ( 次數 ) 由於共有 10 種分數, 故將 frequency 的陣列定為 11 ; 如此就有 frequency[ 1 ] frequency[ 2 ]... frequency[ 9 ] frequency[ 10 ] 十種分數的個別次數 在這裡 frequency[0] 並未使用 fig06_07.c (Part 1 of 2) 18

19 21 /* for each answer, select value of an element of array responses 22 and use that value as subscript in array frequency to 23 determine element to increment */ 24 for ( answer = 0; answer < RESPONSE_SIZE; answer++ ) { 25 ++frequency[ responses [ answer ] ]; 26 } /* end for */ /* display results */ 29 printf( "%s%17s\n", "Rating", "Frequency" ); /* output frequencies in tabular format */ 32 for ( rating = 1; rating < FREQUENCY_SIZE; rating++ ) { 33 printf( "%6d%17d\n", rating, frequency[ rating ] ); 34 } /* end for */ return 0; /* indicates successful termination */ } /* end main */ fig06_07.c (Part 2 of 2) Key Statement: ++frequency[ responses[ answer ] ]; 19 Rating Frequency Caution: C 語言並不檢查索引值的大小 (No array bounds checking in C! ), 也就使說當索引值超過陣列長度時, 在編譯時不會發生錯誤, 但在執行程式時, 就會發生不可預期的錯誤, 而且這種錯誤有時並不容易檢查出來 What if responses[23] = 13?

20 Graphing Array Element Values with Histograms 1 /* Fig. 6.8: fig06_08.c 2 Histogram printing program */ 3 #include <stdio.h> 4 #define SIZE /* function main begins program execution */ 7 int main() 8 { 9 /* use initializer list to initialize array n */ 10 int n[ SIZE ] = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 }; 11 int i; /* outer counter */ 12 int j; /* inner counter */ printf( "%s%13s%17s\n", "Element", "Value", "Histogram" ); /* for each element of array n, output a bar in histogram */ 17 for ( i = 0; i < SIZE; i++ ) { 18 printf( "%7d%13d ", i, n[ i ]) ; for ( j = 1; j <= n[ i ]; j++ ) { /* print one bar */ 21 printf( "%c", '*' ); 22 } /* end inner for */ 23 Reads numbers from an array and graphs the information in the form of a bar chart or histogram 8 spaces fig06_08.c (Part 1 of 2) 印一顆星星用 printf( "%c", '*' ); 例如要印出 3 7 ******* n[3] 星星數 就可用此段迴圈 20

21 24 printf( "\n" ); /* start next line of output */ 25 } /* end outer for */ return 0; /* indicates successful termination */ } /* end main */ Element Value Histogram 0 19 ******************* 1 3 *** 2 15 *************** 3 7 ******* 4 11 *********** 5 9 ********* 6 13 ************* 7 5 ***** 8 17 ***************** 9 1 * fig06_08.c (Part 2 of 2) Program Output 21

22 Rolling a Die 6000 Times and Summarizing the Results in an Array (in Chapter 5) /* determine face value and increment appropriate counter */ 24 switch ( face ) { case 1: /* rolled 1 */ 27 ++frequency1; 28 break; case 2: /* rolled 2 */ 31 ++frequency2; 32 break; case 3: /* rolled 3 */ 35 ++frequency3; 36 break; case 4: /* rolled 4 */ 39 ++frequency4; 40 break; case 5: /* rolled 5 */ 43 ++frequency5; 44 break; case 6: /* rolled 6 */ 47 ++frequency6; 48 break; 49 } /* end switch */ Recall that in Chapter 5 (Fig. 5.8): 擲骰子後, 每一個點數就有一個出現的次數 : Six Variables: frequency1 frequency2 frequency3 frequency4 frequency5 frequency6

23 Rolling a Die 6000 Times and Summarizing the Results in an Array 23 1 /* Fig. 6.9: fig06_09.c 2 Roll a six-sided die 6000 times */ 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <time.h> 6 #define SIZE /* function main begins program execution */ 9 int main() 10 { 11 int face; /* random number with value 1-6 */ 12 int roll; /* roll counter */ 13 int frequency[ SIZE ] = { 0 }; /* initialize array to 0 */ srand( time( NULL ) ); /* seed random-number generator */ /* roll die 6000 times */ 18 for ( roll = 1; roll <= 6000; roll++ ) { 19 face = rand() % 6 + 1; 20 ++frequency[ face ]; /* replaces 26-line switch of Fig. 5.8 */ 21 } /* end for */ 22 NOTE: SIZE 7, NOT 6 fig06_09.c (Part 1 of 2) 在本章中, 將出現的次數 frequency1, frequency2,... 用 frequency[ ] 取代 frequency[ 1 ] frequency[ 2 ]... frequency[ 6 ] 分別為出現點數為 的次數 此處用 ++frequency[ face ]; 取代上一頁的 switch 程式部分

24 24 23 printf( "%s%17s\n", "Face", "Frequency" ); /* output frequency elements 1-6 in tabular format */ 26 for ( face = 1; face < SIZE; face++ ) { 27 printf( "%4d%17d\n", face, frequency[ face ] ); 28 } /* end for */ return 0; /* indicates successful termination */ } /* end main */ fig06_09.c (Part 2 of 2) Face Frequency

25 25 Character and String 字元型態 (char) char c = 'A'; /* A 為一字元常數, 用單引號包圍 */ 字串 (string) "Sweet Home", "ChE NCKU", "first" 字串要用雙引號包住, 如 "ChE NCKU" String first is really a static array of characters, 字串是由字元陣列所組成, 所以處理字串就是在處理陣列中之字元

26 26 Character Array ( 字元陣列 ) Character arrays can be initialized using string literals, e.g., char string1[ ] = "first"; Null character '\0' terminates strings ('\0' 可視為字串結束符號 ). string1 actually has 6 elements. It is equivalent to: char string1[ ] = { 'f', 'i', 'r', 's', 't', '\0' }; Individual characters can be accessed, i.e., string1[ 3 ] is character s

27 27 Character Array ( 字元陣列 ) Array name is address of array, so & is not needed for scanf scanf( "%s", string2 ); Reads characters until whitespace (such as tabs, newlines, spaces) encountered;( 因此用 scanf 讀字串時無法讀取字串中之空白 ) 如果要輸入含空白的字串, 可用 gets(string2); 來讀取字串 輸入與輸出字串 ( 字元陣列 ) 皆用 %s; 注意 : 輸入及輸出字元則用 %c!

28 1 /* Fig. 6.10: fig06_10.c 2 Treating character arrays as strings */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 char string1[ 20 ]; /* reserves 20 characters */ 9 char string2[] = "string literal"; /* reserves 15 characters */ 10 int i; /* counter */ /* read string from user into array string2 */ 13 printf("enter a string: "); 14 scanf( "%s", string1 ); /* output strings */ 17 printf( "string1 is: %s\nstring2 is: %s\n" 18 "string1 with spaces between characters is:\n", 19 string1, string2 ); /* output characters until null character is reached */ 22 for ( i = 0; string1[ i ]!= '\0'; i++ ) { 23 printf( "%c ", string1[ i ] ); 24 } /* end for */ 25 Using Character Arrays to Store and Manipulate Strings fig06_10.c (Part 1 of 2) 算算看 "string literal" 有幾個字元? 如果輸入 "Hello there",string1 會有哪些字元? 輸入與輸出字串 ( 字元陣列 ) 皆用 %s; 注意 : 輸入及輸出字元則用 %c! A space! 28

29 26 printf( "\n" ); return 0; /* indicates successful termination */ } /* end main */ Enter a string: Hello there string1 is: Hello string2 is: string literal string1 with spaces between characters is: H e l l o fig06_10.c (Part 2 of 2) 29

30 Static Local Arrays and Automatic Local Arrays 30 1 /* Fig. 6.11: fig06_11.c 2 Static arrays are initialized to zero */ 3 #include <stdio.h> 4 5 void staticarrayinit( void ); /* function prototype */ 6 void automaticarrayinit( void ); /* function prototype */ 7 8 /* function main begins program execution */ 9 int main() 10 { 11 printf( "First call to each function:\n" ); 12 staticarrayinit(); 13 automaticarrayinit(); printf( "\n\nsecond call to each function:\n" ); 16 staticarrayinit(); 17 automaticarrayinit(); return 0; /* indicates successful termination */ } /* end main */ 22 就像變數分靜態變數與區域變數一般, 陣列也有 static local array 及 automatic local arrays 的區別 fig06_11.c (Part 1 of 3)

31 23 /* function to demonstrate a static local array */ 24 void staticarrayinit( void ) 25 { 26 /* initializes elements to 0 first time function is called */ 27 static int array1[ 3 ]; 28 int i; /* counter */ printf( "\nvalues on entering staticarrayinit:\n" ); /* output contents of array1 */ 33 for ( i = 0; i <= 2; i++ ) { 34 printf( "array1[ %d ] = %d ", i, array1[ i ] ); 35 } /* end for */ printf( "\nvalues on exiting staticarrayinit:\n" ); /* modify and output contents of array1 */ 40 for ( i = 0; i <= 2; i++ ) { 41 printf( "array1[ %d ] = %d ", i, array1[ i ] += 5 ); 42 } /* end for */ } /* end function staticarrayinit */ 45 fig06_11.c (Part 2 of 3) 宣告時若沒有給初始值時, 會自動設為 0 注意此處 array1 為靜態陣列, 因此第一次進入時會自動設為 0 但離開後再進入時, 就??? 在此處陣列的內容改變了! 31

32 46 /* function to demonstrate an automatic local array */ 47 void automaticarrayinit( void ) 48 { 49 /* initializes elements each time function is called */ 50 int array2[ 3 ] = { 1, 2, 3 }; 51 int i; /* counter */ printf( "\n\nvalues on entering automaticarrayinit:\n" ); /* output contents of array2 */ 56 for ( i = 0; i <= 2; i++ ) { 57 printf("array2[ %d ] = %d ", i, array2[ i ] ); 58 } /* end for */ printf( "\nvalues on exiting automaticarrayinit:\n" ); /* modify and output contents of array2 */ 63 for ( i = 0; i <= 2; i++ ) { 64 printf( "array2[ %d ] = %d ", i, array2[ i ] += 5 ); 65 } /* end for */ } /* end function automaticarrayinit */ 此處 array2 為區域陣列 32 fig06_11.c (Part 3 of 3) 在此處陣列的內容改變了!

33 First call to each function: 33 Values on entering staticarrayinit: array1[ 0 ] = 0 array1[ 1 ] = 0 array1[ 2 ] = 0 Values on exiting staticarrayinit: array1[ 0 ] = 5 array1[ 1 ] = 5 array1[ 2 ] = 5 Program Output Values on entering automaticarrayinit: array2[ 0 ] = 1 array2[ 1 ] = 2 array2[ 2 ] = 3 Values on exiting automaticarrayinit: array2[ 0 ] = 6 array2[ 1 ] = 7 array2[ 2 ] = 8 Second call to each function: Values on entering staticarrayinit: array1[ 0 ] = 5 array1[ 1 ] = 5 array1[ 2 ] = 5 Values on exiting staticarrayinit: array1[ 0 ] = 10 array1[ 1 ] = 10 array1[ 2 ] = 10 Values on entering automaticarrayinit: array2[ 0 ] = 1 array2[ 1 ] = 2 array2[ 2 ] = 3 Values on exiting automaticarrayinit: array2[ 0 ] = 6 array2[ 1 ] = 7 array2[ 2 ] = 8

34 Call by Value Passing Variables to Functions 34 #include <stdio.h> void add10(int,int); /* add10() 的原型 */ int main() { int a = 3, b = 5; /* 宣告區域變數 a 與 b */ printf ( " 呼叫函數 add10() 之前 : " ); printf ( "a = %2d, b = %2d\n", a, b ); /* 印出 a b 的值 */ add10(a,b); printf ( " 呼叫函數 add10() 之後 : " ); printf ( "a = %2d, b = %2d\n", a, b ); /* 印出 a b 的值 */ return 0; 呼叫函數 add10() 之前 : a = 3, b = 5 } 函數 add10 中 : a = 13, b = 15 呼叫函數 add10() 之後 : a = 3, b = 5 void add10(int a,int b) { a = a + 10; /* 將變數 a 的值加 10 之後, 設回給 a */ b = b + 10; /* 將變數 b 的值加 10 之後, 設回給 b */ } printf ( " 函數 add10 中 : " ); printf ( "a = %2d, b = %2d\n", a, b ); /* 印出 a b 的值 */ 在 add10 函式中 a 及 b 這兩個變數與主程式中 a,b 所佔的記憶體位置不同

35 Passing Variables to Functions 35 當我們傳遞一般變數名稱到函數時, 接收的函數會將參數的內容複製一份到函數中變數所使用的記憶體位置中, 就像函數中區域變數一樣 ; 當函數結束後, 原先在其他區段之變數的值並不會改變 所以叫做 傳值呼叫 (call-by-value)

36 36 Passing Arrays to Functions 但當傳遞的引數為陣列名稱時, 由於陣列的長度可能很大, 為了考量執行效率, 因此傳遞到函數中的只是該陣列存放在記憶體位置的地址, 而不是將變數的內容傳到函數中, 所以叫做 傳址呼叫 (call-by-reference) 由於傳遞的是陣列的地址, 被傳遞的陣列與函數中接收的陣列有相同的記憶體位置 ( 地址 ), 所以兩個陣列的內容一樣 ; 當函數結束後, 原先在其他區段之陣列內容值已經改變了

37 Passing Arrays and Array Elements to Functions 37 Passing Arrays: To pass an array argument to a function, specify the name of the array without any brackets, void myfunction( int b[], int arraysize ) 主程式中 :... int myarray[ 24 ]; myfunction( myarray, 24 );... Array size usually passed to function also Arrays passed call-by-reference Name of array is address of first element Function knows where the array is stored Modifies original memory locations Passing Array Elements Passed by call-by-value Pass subscripted name (i.e., myarray[ 3 ]) to function

38 38 Passing Arrays to Functions Function Prototype void modifyarray( int b[], int arraysize ); Parameter names optional in prototype int b[] could be written int [] int arraysize could be simply int i.e. can be written as void modifyarray( int [], int );

39 Array Name = Address of the Array's First Element 39 1 /* Fig. 6.12: fig06_12.c 2 The name of an array is the same as &array[ 0 ] */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 char array[ 5 ]; /* define an array of size 5 */ 9 10 printf( " array = %p\n&array[0] = %p\n" 11 " &array = %p\n", 12 array, &array[ 0 ], &array ); return 0; /* indicates successful termination */ } /* end main */ fig06_12.c 用 %p 列印變數或陣列在記憶體的地址 array = 0012FF78 &array[0] = 0012FF78 &array = 0012FF78 array &array[0] 和 &array 三者的地址一樣

40 Passing Arrays and Individual Array Elements to Functions 40 1 /* Fig. 6.13: fig06_13.c 2 Passing arrays and individual array elements to functions */ 3 #include <stdio.h> 4 #define SIZE /* function prototypes */ 7 void modifyarray( int b[], int size ); 8 void modifyelement( int e ); 9 10 /* function main begins program execution */ 11 int main() 12 { 13 int a[ SIZE ] = { 0, 1, 2, 3, 4 }; /* initialize a */ 14 int i; /* counter */ printf( "Effects of passing entire array by reference:\n\nthe " 17 "values of the original array are:\n" ); /* output original array */ 20 for ( i = 0; i < SIZE; i++ ) { 21 printf( "%3d", a[ i ] ); 22 } /* end for */ printf( "\n" ); 25 fig06_13.c (Part 1 of 3) 此處也可寫為 void modifyarray( int [], int ); void modifyelement( int );

41 26 /* pass array a to modifyarray by reference */ 27 modifyarray( a, SIZE ); printf( "The values of the modified array are:\n" ); /* output modified array */ 32 for ( i = 0; i < SIZE; i++ ) { 33 printf( "%3d", a[ i ] ); 34 } /* end for */ /* output value of a[ 3 ] */ 37 printf( "\n\n\neffects of passing array element " 38 "by value:\n\nthe value of a[3] is %d\n", a[ 3 ] ); modifyelement( a[ 3 ] ); /* pass array element a[ 3 ] by value */ /* output value of a[ 3 ] */ 43 printf( "The value of a[ 3 ] is %d\n", a[ 3 ] ); return 0; /* indicates successful termination */ } /* end main */ 48 將陣列名稱 ( 事實上是地址 ) 及大小傳到函數中, 此時為傳址呼叫! fig06_13.c (Part 2 of 3) 在這裡, 傳遞的是陣列中某一個元素, 此時為傳值呼叫! 41

42 49 /* in function modifyarray, "b" points to the original array "a" 50 in memory */ 51 void modifyarray( int b[], int size ) 52 { 53 int j; /* counter */ /* multiply each array element by 2 */ 56 for ( j = 0; j < size; j++ ) { 57 b[ j ] *= 2; 58 } /* end for */ } /* end function modifyarray */ 61 改變陣列的內容 62 /* in function modifyelement, "e" is a local copy of array element 63 a[ 3 ] passed from main */ 64 void modifyelement( int e ) 65 { 66 /* multiply parameter by 2 */ 67 printf( "Value in modifyelement is %d\n", e *= 2 ); 68 } /* end function modifyelement */ 42 fig06_13.c (Part 3 of 3) 改變整數區域變數 e 的內容

43 Effects of passing entire array by reference: 43 The values of the original array are: The values of the modified array are: Program Output Effects of passing array element by value: The value of a[3] is 6 Value in modifyelement is 12 The value of a[ 3 ] is 6

44 Type Qualifier - const 44 1 /* Fig. 6.14: fig06_14.c 2 Demonstrating the const type qualifier with arrays */ 3 #include <stdio.h> 4 5 void trytomodifyarray( const int b[] ); /* function prototype */ 6 7 /* function main begins program execution */ 8 int main() 9 { 10 int a[] = { 10, 20, 30 }; /* initialize a */ trytomodifyarray( a ); printf("%d %d %d\n", a[ 0 ], a[ 1 ], a[ 2 ] ); return 0; /* indicates successful termination */ } /* end main */ 19 fig06_14.c (Part 1 of 2) 當宣告變數或陣列時使用 const 這個修飾詞後, 該變數或陣列就宣告成為常數或常數陣列, 它們的內容在程式執行時就不容更改! 當主程式呼叫函式時, 如果函式的引數 (arguments) 是利用陣列傳遞時, 只要在函式中陣列的值改變的話, 主程式中對應的陣列值也會跟著改變 如果要避免主程式的陣列值改變, 這時在函式中可宣告該陣列為常數陣列

45 20 /* in function trytomodifyarray, array b is const, so it cannot be 21 used to modify the original array a in main. */ 22 void trytomodifyarray( const int b[] ) 23 { 24 b[ 0 ] /= 2; /* error */ 25 b[ 1 ] /= 2; /* error */ 26 b[ 2 ] /= 2; /* error */ 27 } /* end function trytomodifyarray */ Compiling... FIG06_14.C fig06_14.c(24) : error C2166: l-value specifies const object fig06_14.c(25) : error C2166: l-value specifies const object fig06_14.c(26) : error C2166: l-value specifies const object 45 fig06_14.c (Part 2 of 2) Program Output 在本函數中, b 已經宣告型態為 const int 的常數型整數陣列, 但在程式中又試圖改變 b 的內容, 因此產生語法錯誤!

46 46 Sorting Arrays ( 排序 ) Sorting Data Important computing application Virtually every organization must sort some data Bubble Sort ( 氣泡排序法 Sinking Sort) Several passes through the array Successive pairs ( 鄰近的兩個 ) of elements are compared If increasing order (or identical ), no change If decreasing order, elements exchanged Repeat Example: original: pass 1: pass 2: Small elements bubble to the top

47 Sorting an Array with Bubble Sort 47 1 /* Fig. 6.15: fig06_15.c 2 This program sorts an array's values into ascending order */ 3 #include <stdio.h> 4 #define SIZE /* function main begins program execution */ 7 int main() 8 { 9 /* initialize a */ 10 int a[ SIZE ] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 }; 11 int i; /* inner counter */ 12 int pass; /* outer counter */ 13 int hold; /* temporary location used to swap array elements */ printf( "Data items in original order\n" ); /* output original array */ 18 for ( i = 0; i < SIZE; i++ ) { 19 printf( "%4d", a[ i ] ); 20 } /* end for */ 21 要將本陣列之值由小至大排序 首先, 列印原始陣列 fig06_15.c (Part 1 of 3)

48 22 /* bubble sort */ 23 /* loop to control number of passes */ 24 for ( pass = 1; pass < SIZE; pass++ ) { /* loop to control number of comparisons per pass */ 27 for ( i = 0; i < SIZE - 1; i++ ) { /* compare adjacent elements and swap them if first 30 element is greater than second element */ 31 if ( a[ i ] > a[ i + 1 ] ) { 32 hold = a[ i ]; 33 a[ i ] = a[ i + 1 ]; 34 a[ i + 1 ] = hold; 35 } /* end if */ } /* end inner for */ } /* end outer for */ printf( "\ndata items in ascending order\n" ); 42 若只寫 a[ i ] = a[ i + 1 ]; a[ i + 1 ] = a [ i ]; 會發生什麼結果? 能不能提高本程式的執行效率? 48 fig06_15.c (Part 2 of 3)

49 43 /* output sorted array */ 44 for ( i = 0; i < SIZE; i++ ) { 45 printf( "%4d", a[ i ] ); 46 } /* end for */ printf( "\n" ); return 0; /* indicates successful termination */ 51 Data items in original order Data items in ascending order 最後列印排序完成後的陣列 fig06_15.c (Part 3 of 3) Program Output 49

50 Case Study: Computing Mean, Median and Mode Using Arrays 50 Mean ( 算術平均值 ) average Median ( 中間數 ) number in middle of sorted list 1, 2, 3, 4, 5 3 is the median 1, 1, 1, 4, 5, 5, 10 4 is the median Mode ( 最常出現之值 ) number that occurs most often 1, 1, 1, 2, 3, 3, 4, 5 1 is the mode

51 Computing Mean, Median and Mode Using Arrays 51 1 /* Fig. 6.16: fig06_16.c 2 This program introduces the topic of survey data analysis. 3 It computes the mean, median, and mode of the data */ 4 #include <stdio.h> 5 #define SIZE /* function prototypes */ 8 void mean( const int answer[] ); 9 void median( int answer[] ); 10 void mode( int freq[], const int answer[] ) ; 11 void bubblesort( int a[] ); 12 void printarray( const int a[] ); /* function main begins program execution */ 15 int main() 16 { 17 int frequency[ 10 ] = { 0 }; /* initialize array frequency */ 18 有 99 個數值介於 1 ~ 9 的原始數據 各個函數之原型 (prototype) mean median mode bubblesort printarray fig06_16.c (Part 1 of 8) 平均值中間數最多數陣列排序列印陣列

52 19 /* initialize array response */ 20 int response[ SIZE ] = 21 { 6, 7, 8, 9, 8, 7, 8, 9, 8, 9, 22 7, 8, 9, 5, 9, 8, 7, 8, 7, 8, 23 6, 7, 8, 9, 3, 9, 8, 7, 8, 7, 24 7, 8, 9, 8, 9, 8, 9, 7, 8, 9, 25 6, 7, 8, 7, 8, 7, 9, 8, 9, 2, 26 7, 8, 9, 8, 9, 8, 9, 7, 5, 3, 27 5, 6, 7, 2, 5, 3, 9, 4, 6, 4, 28 7, 8, 9, 6, 8, 7, 8, 9, 7, 8, 29 7, 4, 4, 2, 5, 3, 8, 7, 5, 6, 30 4, 5, 6, 1, 6, 5, 7, 8, 7 }; /* process responses */ 33 mean( response ); 34 median( response ); 35 mode( frequency, response ); return 0; /* indicates successful termination */ } /* end main */ fig06_16.c (Part 2 of 8) 有 99 個數值介於 1 ~ 9 的原始數據分別呼叫計算 mean, median 及 mode 的函數

53 41 /* calculate average of all response values */ 42 void mean( const int answer[] ) 43 { 44 int j; /* counter */ 45 int total = 0; /* variable to hold sum of array elements */ printf( "%s\n%s\n%s\n", "********", " Mean", "********" ); /* total response values */ 50 for ( j = 0; j < SIZE; j++ ) { 51 total += answer[ j ]; 52 } /* end for */ printf( "The mean is the average value of the data\n" 55 "items. The mean is equal to the total of\n" 56 "all the data items divided by the number\n" 57 "of data items ( %d ). The mean value for\n" 58 "this run is: %d / %d = %.4f\n\n", 59 SIZE, total, SIZE, ( double ) total / SIZE ); 60 } /* end function mean */ 61 本函數中陣列 answer 的內容不會改變, 故可用 const 修飾字 計算總和 53 fig06_16.c (Part 3 of 8) 計算平均值, 注意此處用 (double) 把整數型態的數據轉成倍精準浮點數 在函數中, 輸入陣列的大小要如何決定?

54 62 /* sort array and determine median element's value */ 63 void median( int answer[] ) 64 { 65 printf( "\n%s\n%s\n%s\n%s", 66 "********", " Median", "********", 67 "The unsorted array of responses is" ); printarray( answer ); /* output unsorted array */ bubblesort( answer ); /* sort array */ printf( "\n\nthe sorted array is" ); 74 printarray( answer ); /* output sorted array */ /* display median element */ 77 printf( "\n\nthe median is element %d of\n" 78 "the sorted %d element array.\n" 79 "For this run the median is %d\n\n", 80 SIZE / 2, SIZE, answer[ SIZE / 2 ] ); 81 } /* end function median */ 82 利用本函數排序並決定中間數, 所以在本函數中, 陣列 answer 的內容會被排序而更改, 不可用 const 修飾字 fig06_16.c (Part 4 of 8) 利用 bubblesort 函數排序 排序後找中間值 54 Note 99/2=49 如果陣列中元素的個數為偶數時, 本程式找出的中間值是哪個位置?

55 83 /* determine most frequent response */ 84 void mode( int freq[], const int answer[] ) 85 { 86 int rating; /* counter */ 87 int j; /* counter */ 88 int h; /* counter */ 89 int largest = 0; /* represents largest frequency */ 90 int modevalue = 0; /* respesents most frequent response */ printf( "\n%s\n%s\n%s\n", 93 "********", " Mode", "********" ); /* initialize frequencies to 0 */ 96 for ( rating = 1; rating <= 9; rating++ ) { 97 freq[ rating ] = 0; 98 } /* end for */ /* summarize frequencies */ 101 for ( j = 0; j < SIZE; j++ ) { freq[ answer[ j ] ]; 103 } /* end for */ 104 找最常出現的值的函數 先將計數器設為 0 55 fig06_16.c (Part 5 of 8) freq[1], freq[2],...freq[9] 為分別出現 1, 2,... 9 的次數 ; 此處即是分別計數的部份

56 105 /* output headers for result columns */ 106 printf( "%s%11s%19s\n\n", 107 "Response", "Frequency", "Histogram"); /* output results */ 111 for ( rating = 1; rating <= 9; rating++ ) { 112 printf( "%8d%11d ", rating, freq[ rating ] ); /* keep track of mode value and largest frequency value */ 115 if ( freq[ rating ] > largest ) { 116 largest = freq[ rating ]; 117 modevalue = rating; 118 } /* end if */ /* output histogram bar representing frequency value */ 121 for ( h = 1; h <= freq[ rating ]; h++ ) { 122 printf( "*" ); 123 } /* end inner for */ printf( "\n" ); /* being new line of output */ 126 } /* end outer for */ fig06_16.c (Part 6 of 8) rating = 1 到 9 的迴圈 ; 在此迴圈中, 尋找出現最多次數之值以及繪長條圖 (1) 找 freq[1], freq[2],...freq[9] 最大值 (2) 分別畫 histogram

57 128 /* display the mode value */ 129 printf( "The mode is the most frequent value.\n" 130 "For this run the mode is %d which occurred" 131 " %d times.\n", modevalue, largest ); 132 } /* end function mode */ /* function that sorts an array with bubble sort algorithm */ 135 void bubblesort( int a[] ) 136 { 137 int pass; /* counter */ 138 int j; /* counter */ 139 int hold; /* temporary location used to swap elements */ /* loop to control number of passes */ 142 for ( pass = 1; pass < SIZE; pass++ ) { /* loop to control number of comparisons per pass */ 145 for ( j = 0; j < SIZE - 1; j++ ) { /* swap elements if out of order */ 148 if ( a[ j ] > a[ j + 1 ] ) { 149 hold = a[ j ]; 150 a[ j ] = a[ j + 1 ]; 151 a[ j + 1 ] = hold; 152 } /* end if */ 153 再列印出現最多次的值及次數 Bubble Sort 部分與前面的例子相同, 此處只是將它寫成函數 fig06_16.c (Part 7 of 8) 57

58 154 } /* end inner for */ } /* end outer for */ } /* end function bubblesort */ /* output array contents (20 values per row) */ 161 void printarray( const int a[] ) 162 { 163 int j; /* counter */ /* output array contents */ 166 for ( j = 0; j < SIZE; j++ ) { if ( j % 20 == 0 ) { /* begin new line every 20 values */ 169 printf( "\n" ); 170 } /* end if */ printf( "%2d", a[ j ] ); 173 } /* end for */ } /* end function printarray */ fig06_16.c (Part 8 of 8) 利用這個函數是把陣列 a 列印出來 每行列印 20 個元素 58

59 ******** Mean ******** The mean is the average value of the data items. The mean is equal to the total of all the data items divided by the number of data items ( 99 ). The mean value for this run is: 681 / 99 = Program Output 59 ******** Median ******** The unsorted array of responses is The sorted array is

60 The median is element 49 of the sorted 99 element array. For this run the median is 7 60 ******** Mode ******** Response Frequency Histogram Program Output (continued) 1 1 * 2 3 *** 3 4 **** 4 5 ***** 5 8 ******** 6 9 ********* 7 23 *********************** 8 27 *************************** 9 19 ******************* The mode is the most frequent value. For this run the mode is 8 which occurred 27 times.

61 Searching Arrays: Linear Search and Binary Search Search an array for a key value Linear search ( 線性搜尋法 ) Simple Compare each element of array with key value Useful for small and unsorted arrays Binary search ( 二分搜尋法 ) For sorted arrays Compares middle element with key If equal, match found If key < middle, looks in first half of array If key > middle, looks in last half Repeat Very fast; at most n steps, where 2 n > number of elements 30 element array takes at most 5 steps 2 5 > 30 so at most 5 steps 1,000,000,000 element array takes at most 30 steps ( 2 30 =1,073,741,824) On the other hand, 1,000,000,000 element array searched by linear search method takes in average 500,000,000 comparisons. 61

62 Linear Search of an Array 62 1 /* Fig. 6.18: fig06_18.c 2 Linear search of an array */ 3 #include <stdio.h> 4 #define SIZE /* function prototype */ 7 int linearsearch( const int array[], int key, int size ); 8 9 /* function main begins program execution */ 10 int main() 11 { 12 int a[ SIZE ]; /* create array a */ 13 int x; /* counter */ 14 int searchkey; /* value to locate in a */ 15 int element; /* variable to hold location of searchkey or -1 */ /* create data */ 18 for ( x = 0; x < SIZE; x++ ) { 19 a[ x ] = 2 * x; 20 } /* end for */ printf( "Enter integer search key:\n" ); 23 scanf( "%d", &searchkey ); 24 fig06_18.c (Part 1 of 3) 製造一組一百個元素 { 0, 2, 4, 6,..., 198 } 的陣列 由鍵盤輸入一個要搜尋的數字

63 25 /* attempt to locate searchkey in array a */ 26 element = linearsearch( a, searchkey, SIZE ); /* display results */ 29 if ( element!= -1 ) { 30 printf( "Found value in element %d\n", element ); 31 } /* end if */ 32 else { 33 printf( "Value not found\n" ); 34 } /* end else */ return 0; /* indicates successful termination */ } /* end main */ 39 呼叫 linearsearch 函數尋找 searchkey 列印結果 63 fig06_18.c (Part 2 of 3)

64 64 40 /* compare key to every element of array until the location is found 41 or until the end of array is reached; return subscript of element 42 if key or -1 if key is not found */ 43 int linearsearch( const int array[], int key, int size ) 44 { 45 int n; /* counter */ fig06_18.c (Part 3 of 3) /* loop through array */ 48 for ( n = 0; n < size; ++n ) { if ( array[ n ] == key ) { 51 return n; /* return location of key */ 52 } /* end if */ } /* end for */ return -1; /* key not found */ } /* end function linearsearch */ Enter integer search key: 36 Found value in element 18 如果陣列中有多筆相同資料時,... Enter integer search key: 37 Value Copyright not found by Deitel

65 Binary Search of a Sorted Array 65 1 /* Fig. 6.19: fig06_19.c 2 Binary search of an array */ 3 #include <stdio.h> 4 #define SIZE /* function prototypes */ 7 int binarysearch( const int b[], int searchkey, int low, int high ); 8 void printheader( void ); 9 void printrow( const int b[], int low, int mid, int high ); /* function main begins program execution */ 12 int main() 13 { 14 int a[ SIZE ]; /* create array a */ 15 int i; /* counter */ 16 int key; /* value to locate in array a */ 17 int result; /* variable to hold location of key or -1 */ /* create data */ 20 for ( i = 0; i < SIZE; i++ ) { 21 a[ i ] = 2 * i; 22 } /* end for */ printf( "Enter a number between 0 and 28: " ); 25 scanf( "%d", &key ); 26 fig06_19.c (Part 1 of 5) 製造一組 { 0, 2, 4, 6,..., 28 } 的陣列, 注意本陣列已經按大小排序, 如果要用二分法對陣列搜尋, 必須要把該陣列按大小先排序後再搜尋 因此, 利用二分法搜尋未排序陣列最花時間的地方就是先將該陣列排序的時間

66 27 printheader(); /* search for key in array a */ 30 result = binarysearch( a, key, 0, SIZE - 1 ); /* display results */ 33 if ( result!= -1 ) { 34 printf( "\n%d found in array element %d\n", key, result ); 35 } /* end if */ 36 else { 37 printf( "\n%d not found\n", key ); 38 } /* end else */ return 0; /* indicates successful termination */ } /* end main */ /* function to perform binary search of an array */ 45 int binarysearch( const int b[], int searchkey, int low, int high ) 46 { 47 int middle; /* variable to hold middle element of array */ 48 呼叫 binarysearch 函數在陣列 a 中尋找 key 在哪裡 fig06_19.c (Part 2 of 5) binarysearch 函數在陣列 a 中尋找 searchkey 在哪裡 ; low 及 high 為陣列 a 中位置編號的上下限 66

67 49 /* loop until low subscript is greater than high subscript */ 50 while ( low <= high ) { /* determine middle element of subarray being searched */ 53 middle = ( low + high ) / 2; /* display subarray used in this loop iteration */ 56 printrow( b, low, middle, high ); /* if searchkey matched middle element, return middle */ 59 if ( searchkey == b[ middle ] ) { 60 return middle; 61 } /* end if */ /* if searchkey less than middle element, set new high */ 64 else if ( searchkey < b[ middle ] ) { 65 high = middle - 1; /* search low end of array */ 66 } /* end else if */ /* if searchkey greater than middle element, set new low */ 69 else { 70 low = middle + 1; /* search high end of array */ 71 } /* end else */ } /* end while */ 74 fig06_19.c (Part 3 of 5) Compares middle element with key Repeat If equal, match found If key < middle, looks in first half of array If key > middle, looks in last half 67

68 75 return -1; /* searchkey not found */ } /* end function binarysearch */ /* Print a header for the output */ 80 void printheader( void ) 81 { 82 int i; /* counter */ printf( "\nsubscripts:\n" ); /* output column head */ 87 for ( i = 0; i < SIZE; i++ ) { 88 printf( "%3d ", i ); 89 } /* end for */ printf( "\n" ); /* start new line of output */ /* output line of - characters */ 94 for ( i = 1; i <= 4 * SIZE; i++ ) { 95 printf( "-" ); 96 } /* end for */ printf( "\n" ); /* start new line of output */ 99 } /* end function printheader */ 100 A space fig06_19.c (Part 4 of 5) Subscripts:

69 101 /* Print one row of output showing the current 102 part of the array being processed. */ 103 void printrow( const int b[], int low, int mid, int high ) 104 { 105 int i; /* counter */ 4 spaces /* loop through entire array */ 108 for ( i = 0; i < SIZE; i++ ) { /* display spaces if outside current subarray range */ 111 if ( i < low i > high ) { 112 printf( " " ); 113 } /* end if */ 114 else if ( i == mid ) { /* display middle element */ 115 printf( "%3d*", b[ i ] ); /* mark middle value */ 116 } /* end else if */ 117 else { /* display other elements in subarray */ 118 printf( "%3d ", b[ i ] ); 119 } /* end else */ Note! } /* end for */ printf( "\n" ); /* start new line of output */ 124 } /* end function printrow */ fig06_19.c (Part 5 of 5) 69

70 Enter a number between 0 and 28: Subscripts: * * * 28 24* Program Output 25 not found Enter a number between 0 and 28: 8 Subscripts: * * * 12 8* 8 found in array element 4

71 Enter a number between 0 and 28: 6 71 Subscripts: * * Program Output (continued) 6 found in array element 3

72 72 Multiple-Subscripted Arrays Multiple Subscripted Arrays Tables with rows ( 列 ) and columns ( 行 )(m by n array) m 列 n 行 Like matrices: specify row, then column In a double subscripted array, each row is basically a single-subscripted array.

73 73 Initialization Multiple-Subscripted Arrays int b[ 2 ][ 2 ] = { { 1, 2 }, { 3, 4 } }; Initializers grouped by row in braces If not enough, unspecified elements set to zero int b[ 2 ][ 2 ] = { { 1 }, { 3, 4 } }; Referencing Elements Specify row ( 列 ), then column ( 行 ) printf( "%d", b[ 0 ][ 1 ] );

74 Initializing Multi-Dimensional Arrays 74 1 /* Fig. 6.21: fig06_21.c 2 Initializing multidimensional arrays */ 3 #include <stdio.h> 4 5 void printarray( const int a[][ 3 ] ); /* function prototype */ 6 7 /* function main begins program execution */ 8 int main() 9 { 10 /* initialize array1, array2, array3 */ 11 int array1[ 2 ][ 3 ] = { { 1, 2, 3 }, { 4, 5, 6 } }; 12 int array2[ 2 ][ 3 ] = { 1, 2, 3, 4, 5 }; 13 int array3[ 2 ][ 3 ] = { { 1, 2 }, { 4 } }; printf( "Values in array1 by row are:\n" ); 16 printarray( array1 ); printf( "Values in array2 by row are:\n" ); 19 printarray( array2 ); printf( "Values in array3 by row are:\n" ); 22 printarray( array3 ); return 0; /* indicates successful termination */ } /* end main */ 27 fig06_21.c (Part 1 of 2)

75 28 /* function to output array with two rows and three columns */ 29 void printarray( const int a[][ 3 ] ) 30 { 31 int i; /* counter */ 32 int j; /* counter */ /* loop through rows */ 35 for ( i = 0; i <= 1; i++ ) { /* output column values */ 38 for ( j = 0; j <= 2; j++ ) { 39 printf( "%d ", a[ i ][ j ] ); 40 } /* end inner for */ printf( "\n" ); /* start new line of output */ 43 } /* end outer for */ } /* end function printarray */ Values in array1 by row are: Values in array2 by row are: Values in array3 by row are: C 語言中允許二維與二維以上的多維陣列可以省略第一個 ( 即最左邊 ) 的索引值, 但是其他的索引值必須填寫! 列印第 i 列 (row ) 列印第 i 列中第 j 行 (column ) 為什麼最左邊的索引值可忽略, 但是其他的索引值必須填寫? fig06_21.c (Part 2 of 2) Program Output 75

76 1 /* Fig. 6.22: fig06_22.c 2 Double-subscripted array example */ 3 #include <stdio.h> 4 #define STUDENTS 3 5 #define EXAMS /* function prototypes */ 8 int minimum( const int grades[][ EXAMS ], int pupils, int tests ); 9 int maximum( const int grades[][ EXAMS ], int pupils, int tests ); 10 double average( const int setofgrades[], int tests ); 11 void printarray( const int grades[][ EXAMS ], int pupils, int tests ); /* function main begins program execution */ 14 int main() 15 { 16 int student; /* counter */ /* initialize student grades for three students (rows) */ 19 const int studentgrades[ STUDENTS ][ EXAMS ] = 20 { { 77, 68, 86, 73 }, 21 { 96, 87, 89, 78 }, 22 { 70, 90, 86, 81 } }; 23 Example of Double-Subscripted Array 三位學生, 四次考試 ; 把他們的考試分數用陣列儲存 宣告並給成績陣列 76 fig06_22.c (Part 1 of 6) 甲同學的分數 乙同學的分數 丙同學的分數

77 77 24 /* output array studentgrades */ 25 printf( "The array is:\n" ); 26 printarray( studentgrades, STUDENTS, EXAMS ); /* determine smallest and largest grade values */ 29 printf( "\n\nlowest grade: %d\nhighest grade: %d\n", 30 minimum( studentgrades, STUDENTS, EXAMS ), 31 maximum( studentgrades, STUDENTS, EXAMS ) ); /* calculate average grade for each student */ 34 for ( student = 0; student <= STUDENTS - 1; student++ ) { 35 printf( "The average grade for student %d is %.2f\n", 36 student, average( studentgrades[ student ], EXAMS ) ); 37 } /* end for */ return 0; /* indicates successful termination */ } /* end main */ 42 找所有成績的最高及最低分數 計算個別學生的平均分數 fig06_22.c (Part 2 of 6) 甲同學的分數 乙同學的分數 丙同學的分數 注意在呼叫 average 函數計算個別學生的平均分數時, 只用 studentgrades[ student ] 單維陣列型態 ; In a double subscripted array, each row is basically treated as a single-subscripted array. 此時 studentgrades[ 0 ] 表示傳入 studentgrades 陣列中第 0 列第 0 行的地址到函數中 ; studentgrades[ 1 ] 表示傳入 studentgrades 陣列中第 1 列第 0 行的地址到函數中 ; studentgrades[ 2 ] 表示傳入 studentgrades 陣列中第 2 列第 0 行的地址到函數中 ;

78 Function minimum /* Find the minimum grade */ 44 int minimum( const int grades[][ EXAMS ], int pupils, int tests ) 45 { 46 int i; /* counter */ 47 int j; /* counter */ 48 int lowgrade = 100; /* initialize to highest possible grade */ /* loop through rows of grades */ 51 for ( i = 0; i < pupils; i++ ) { /* loop through columns of grades */ 54 for ( j = 0; j < tests; j++ ) { if ( grades[ i ][ j ] < lowgrade ) { 57 lowgrade = grades[ i ][ j ]; 58 } /* end if */ } /* end inner for */ } /* end outer for */ return lowgrade; /* return minimum grade */ } /* end function minimum */ 67 fig06_22.c (Part 3 of 6)

79 Function maximum /* Find the maximum grade */ 69 int maximum( const int grades[][ EXAMS ], int pupils, int tests ) 70 { 71 int i; /* counter */ 72 int j; /* counter */ 73 int highgrade = 0; /* initialize to lowest possible grade */ /* loop through rows of grades */ 76 for ( i = 0; i < pupils; i++ ) { /* loop through columns of grades */ 79 for ( j = 0; j < tests; j++ ) { if ( grades[ i ][ j ] > highgrade ) { 82 highgrade = grades[ i ][ j ]; 83 } /* end if */ } /* end inner for */ } /* end outer for */ return highgrade; /* return maximum grade */ } /* end function maximum */ fig06_22.c (Part 4 of 6)

80 Function average /* Determine the average grade for a particular student */ 94 double average( const int setofgrades[], int tests ) 95 { 96 int i; /* counter */ 97 int total = 0; /* sum of test grades */ /* total all grades for one student */ 100 for ( i = 0; i < tests; i++ ) { 101 total += setofgrades[ i ]; 102 } /* end for */ return ( double ) total / tests; /* average */ } /* end function average */ fig06_22.c (Part 5 of 6)

81 Function printarray /* Print the array */ 109 void printarray( const int grades[][ EXAMS ], int pupils, int tests ) 110 { 111 int i; /* counter */ 112 int j; /* counter */ /* output column heads */ 115 printf( " [0] [1] [2] [3]" ); /* output grades in tabular format */ 118 for ( i = 0; i < pupils; i++ ) { /* output label for row */ 121 printf( "\nstudentgrades[%d] ", i ); /* output grades for one student */ 124 for ( j = 0; j < tests; j++ ) { 125 printf( "%-5d", grades[ i ][ j ] ); 126 } /* end inner for */ } /* end outer for */ } /* end function printarray */ fig06_22.c (Part 6 of 6) %-5d 的意思是預留 5 個位置顯示整數, 並從左邊開始顯示 The array is: [0] [1] [2] [3] studentgrades[0] studentgrades[1] studentgrades[2]

82 82 The array is: [0] [1] [2] [3] studentgrades[0] studentgrades[1] studentgrades[2] Lowest grade: 68 Highest grade: 96 The average grade for student 0 is The average grade for student 1 is The average grade for student 2 is 81.75

83 Review In this chapter, you have learned: The array data structure. The use of arrays to store, sort and search lists and tables of values. Bubble Sort, Exchanger Sort (in exercise) Linear Search, Binary Search How to define an array, initialize an array and refer to individual elements of an array. 足標 (subscript, 索引值 ) 從 0 開始! Character Arrays ( 字元陣列 ) ; char string1[] = "first"; char string1[] = { 'f', 'i', 'r', 's', 't', '\0' }; To pass arrays to functions. 傳遞的是陣列的地址 ;Call-by-Reference! The basic sorting and searching techniques. To define and manipulate multiple subscript arrays. 83

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

WWW PHP

WWW PHP WWW PHP 2003 1 2 function function_name (parameter 1, parameter 2, parameter n ) statement list function_name sin, Sin, SIN parameter 1, parameter 2, parameter n 0 1 1 PHP HTML 3 function strcat ($left,

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

C/C++ - 数组与指针

C/C++ - 数组与指针 C/C++ Table of contents 1. 2. 3. 4. 5. 6. 7. 8. 1 float candy [ 365]; char code [12]; int states [50]; 2 int array [6] = {1, 2, 4, 6, 8, 10}; 3 // day_mon1.c: # include # define MONTHS 12 int

More information

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl SKLOIS (Pseudo) Preimage Attack on Reduced-Round Grøstl Hash Function and Others Shuang Wu, Dengguo Feng, Wenling Wu, Jian Guo, Le Dong, Jian Zou March 20, 2012 Institute. of Software, Chinese Academy

More information

穨control.PDF

穨control.PDF TCP congestion control yhmiu Outline Congestion control algorithms Purpose of RFC2581 Purpose of RFC2582 TCP SS-DR 1998 TCP Extensions RFC1072 1988 SACK RFC2018 1996 FACK 1996 Rate-Halving 1997 OldTahoe

More information

Microsoft PowerPoint - Bronson-v3-ch07.ppt [相容模式]

Microsoft PowerPoint - Bronson-v3-ch07.ppt [相容模式] C++ FOR ENGINEERS AND SCIENTISTS THIRD EDITION Chapter 7 Arrays Objectives 2 In this chapter, you will learn about: One-dimensional arrays 一維陣列 Array initialization 陣列起始化 Declaring and processing two-dimensional

More information

Microsoft PowerPoint - CH 04 Techniques of Circuit Analysis

Microsoft PowerPoint - CH 04 Techniques of Circuit Analysis Chap. 4 Techniques of Circuit Analysis Contents 4.1 Terminology 4.2 Introduction to the Node-Voltage Method 4.3 The Node-Voltage Method and Dependent Sources 4.4 The Node-Voltage Method: Some Special Cases

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information

PowerPoint Presentation

PowerPoint Presentation Chapter 7 Pointers ( 指標 ) 1 Outline 7.1 Introduction 7.2 Pointer Variable Definitions and Initialization 7.3 Pointer Operators 7.4 Calling Functions by Reference 7.5 Using the const Qualifier with Pointers

More information

coverage2.ppt

coverage2.ppt Satellite Tool Kit STK/Coverage STK 82 0715 010-68745117 1 Coverage Definition Figure of Merit 2 STK Basic Grid Assets Interval Description 3 Grid Global Latitude Bounds Longitude Lines Custom Regions

More information

C

C C 2017 4 1 1. 2. while 3. 4. 5. for 6. 2/161 C 7. 8. (do while) 9. 10. (nested loop) 11. 12. 3/161 C 1. I 1 // summing.c: 2 #include 3 int main(void) 4 { 5 long num; 6 long sum = 0L; 7 int status;

More information

Microsoft Word - template.doc

Microsoft Word - template.doc HGC efax Service User Guide I. Getting Started Page 1 II. Fax Forward Page 2 4 III. Web Viewing Page 5 7 IV. General Management Page 8 12 V. Help Desk Page 13 VI. Logout Page 13 Page 0 I. Getting Started

More information

4. 每 组 学 生 将 写 有 习 语 和 含 义 的 两 组 卡 片 分 别 洗 牌, 将 顺 序 打 乱, 然 后 将 两 组 卡 片 反 面 朝 上 置 于 课 桌 上 5. 学 生 依 次 从 两 组 卡 片 中 各 抽 取 一 张, 展 示 给 小 组 成 员, 并 大 声 朗 读 卡

4. 每 组 学 生 将 写 有 习 语 和 含 义 的 两 组 卡 片 分 别 洗 牌, 将 顺 序 打 乱, 然 后 将 两 组 卡 片 反 面 朝 上 置 于 课 桌 上 5. 学 生 依 次 从 两 组 卡 片 中 各 抽 取 一 张, 展 示 给 小 组 成 员, 并 大 声 朗 读 卡 Tips of the Week 课 堂 上 的 英 语 习 语 教 学 ( 二 ) 2015-04-19 吴 倩 MarriottCHEI 大 家 好! 欢 迎 来 到 Tips of the Week! 这 周 我 想 和 老 师 们 分 享 另 外 两 个 课 堂 上 可 以 开 展 的 英 语 习 语 教 学 活 动 其 中 一 个 活 动 是 一 个 充 满 趣 味 的 游 戏, 另 外

More information

BC04 Module_antenna__ doc

BC04 Module_antenna__ doc http://www.infobluetooth.com TEL:+86-23-68798999 Fax: +86-23-68889515 Page 1 of 10 http://www.infobluetooth.com TEL:+86-23-68798999 Fax: +86-23-68889515 Page 2 of 10 http://www.infobluetooth.com TEL:+86-23-68798999

More information

ENGG1410-F Tutorial 6

ENGG1410-F Tutorial 6 Jianwen Zhao Department of Computer Science and Engineering The Chinese University of Hong Kong 1/16 Problem 1. Matrix Diagonalization Diagonalize the following matrix: A = [ ] 1 2 4 3 2/16 Solution The

More information

Microsoft PowerPoint - STU_EC_Ch08.ppt

Microsoft PowerPoint - STU_EC_Ch08.ppt 樹德科技大學資訊工程系 Chapter 8: Counters Shi-Huang Chen Fall 2010 1 Outline Asynchronous Counter Operation Synchronous Counter Operation Up/Down Synchronous Counters Design of Synchronous Counters Cascaded Counters

More information

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING 前言 - Andrew Payne 目录 1 2 Firefly Basics 3 COMPONENT TOOLBOX 目录 4 RESOURCES 致谢

More information

Microsoft Word - Final Exam Review Packet.docx

Microsoft Word - Final Exam Review Packet.docx Do you know these words?... 3.1 3.5 Can you do the following?... Ask for and say the date. Use the adverbial of time correctly. Use Use to ask a tag question. Form a yes/no question with the verb / not

More information

PowerPoint Presentation

PowerPoint Presentation Linear Progamming- the Simple method with greater-than-or-equal-to or equality minimization problem Quantitative deciion making technique /5/6 Tableau form- dealing with greaterthan-or-equal-to contraint

More information

Microsoft PowerPoint - STU_EC_Ch02.ppt

Microsoft PowerPoint - STU_EC_Ch02.ppt 樹德科技大學資訊工程系 Chapter 2: Number Systems Operations and Codes Shi-Huang Chen Sept. 2010 1 Chapter Outline 2.1 Decimal Numbers 2.2 Binary Numbers 2.3 Decimal-to-Binary Conversion 2.4 Binary Arithmetic 2.5

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

untitled

untitled Co-integration and VECM Yi-Nung Yang CYCU, Taiwan May, 2012 不 列 1 Learning objectives Integrated variables Co-integration Vector Error correction model (VECM) Engle-Granger 2-step co-integration test Johansen

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

硕 士 学 位 论 文 论 文 题 目 : 北 岛 诗 歌 创 作 的 双 重 困 境 专 业 名 称 : 中 国 现 当 代 文 学 研 究 方 向 : 中 国 新 诗 研 究 论 文 作 者 : 奚 荣 荣 指 导 老 师 : 姜 玉 琴 2014 年 12 月

硕 士 学 位 论 文 论 文 题 目 : 北 岛 诗 歌 创 作 的 双 重 困 境 专 业 名 称 : 中 国 现 当 代 文 学 研 究 方 向 : 中 国 新 诗 研 究 论 文 作 者 : 奚 荣 荣 指 导 老 师 : 姜 玉 琴 2014 年 12 月 硕 士 学 位 论 文 论 文 题 目 : 北 岛 诗 歌 创 作 的 双 重 困 境 专 业 名 称 : 中 国 现 当 代 文 学 研 究 方 向 : 中 国 新 诗 研 究 论 文 作 者 : 奚 荣 荣 指 导 老 师 : 姜 玉 琴 2014 年 12 月 致 谢 文 学 是 我 们 人 类 宝 贵 的 精 神 财 富 两 年 半 的 硕 士 学 习 让 我 进 一 步 接 近 文 学,

More information

Microsoft PowerPoint - Lecture7II.ppt

Microsoft PowerPoint - Lecture7II.ppt Lecture 8II SUDOKU PUZZLE SUDOKU New Play Check 軟體實作與計算實驗 1 4x4 Sudoku row column 3 2 } 4 } block 1 4 軟體實作與計算實驗 2 Sudoku Puzzle Numbers in the puzzle belong {1,2,3,4} Constraints Each column must contain

More information

A Community Guide to Environmental Health

A Community Guide to Environmental Health 102 7 建 造 厕 所 本 章 内 容 宣 传 推 广 卫 生 设 施 104 人 们 需 要 什 么 样 的 厕 所 105 规 划 厕 所 106 男 女 对 厕 所 的 不 同 需 求 108 活 动 : 给 妇 女 带 来 方 便 110 让 厕 所 更 便 于 使 用 111 儿 童 厕 所 112 应 急 厕 所 113 城 镇 公 共 卫 生 设 施 114 故 事 : 城 市 社

More information

2015年4月11日雅思阅读预测机经(新东方版)

2015年4月11日雅思阅读预测机经(新东方版) 剑 桥 雅 思 10 第 一 时 间 解 析 阅 读 部 分 1 剑 桥 雅 思 10 整 体 内 容 统 计 2 剑 桥 雅 思 10 话 题 类 型 从 以 上 统 计 可 以 看 出, 雅 思 阅 读 的 考 试 话 题 一 直 广 泛 多 样 而 题 型 则 稳 中 有 变 以 剑 桥 10 的 test 4 为 例 出 现 的 三 篇 文 章 分 别 是 自 然 类, 心 理 研 究 类,

More information

Windows XP

Windows XP Windows XP What is Windows XP Windows is an Operating System An Operating System is the program that controls the hardware of your computer, and gives you an interface that allows you and other programs

More information

Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies to all d

Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies to all d WeChat Search Visual Identity Guidelines WEDESIGN 2018. 04 Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies

More information

Microsoft PowerPoint - NCBA_Cattlemens_College_Darrh_B

Microsoft PowerPoint - NCBA_Cattlemens_College_Darrh_B Introduction to Genetics Darrh Bullock University of Kentucky The Model Trait = Genetics + Environment Genetics Additive Predictable effects that get passed from generation to generation Non-Additive Primarily

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes What is a JavaBean? JavaBean Java JavaBean Java JavaBean JComponent tooltiptext font background foreground doublebuffered border preferredsize minimumsize maximumsize JButton. Swing JButton JButton() JButton(String

More information

國立中山大學學位論文典藏.PDF

國立中山大學學位論文典藏.PDF ( ) 2-1 p33 3-1 p78 3-2 p79 3-3 p80 3-4 p90 4-1 p95 4-2 p97 4-3 p100 4-4 p103 4-5 p105 4-6 p107 4-7 p108 4-8 p108 4-9 p112 4-10 p114 4-11 p117 4-12 p119 4-13 p121 4-14 p123 4-15 p124 4-16 p131 4-17 p133

More information

Open topic Bellman-Ford算法与负环

Open topic   Bellman-Ford算法与负环 Open topic Bellman-Ford 2018 11 5 171860508@smail.nju.edu.cn 1/15 Contents 1. G s BF 2. BF 3. BF 2/15 BF G Bellman-Ford false 3/15 BF G Bellman-Ford false G c = v 0, v 1,..., v k (v 0 = v k ) k w(v i 1,

More information

Microsoft Word doc

Microsoft Word doc 中 考 英 语 科 考 试 标 准 及 试 卷 结 构 技 术 指 标 构 想 1 王 后 雄 童 祥 林 ( 华 中 师 范 大 学 考 试 研 究 院, 武 汉,430079, 湖 北 ) 提 要 : 本 文 从 结 构 模 式 内 容 要 素 能 力 要 素 题 型 要 素 难 度 要 素 分 数 要 素 时 限 要 素 等 方 面 细 致 分 析 了 中 考 英 语 科 试 卷 结 构 的

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

csg(1_29)cs.p65

csg(1_29)cs.p65 DP-80F 2 2 3 4 5 4 5 2 3 4 5 3 ENERGY STAR ENERGY STAR ENERGY STAR 4 3 3 4 7 7 8 8 8 9 0 2 2 3 4 6 7 8 8 9 20 2 22 23 23 24 26 27 27 28 29 30 3 32 33 5 37 37 38 38 39 4 46 46 48 49 50 52 6 7 8 9 q w e

More information

Microsoft Word - TIP006SCH Uni-edit Writing Tip - Presentperfecttenseandpasttenseinyourintroduction readytopublish

Microsoft Word - TIP006SCH Uni-edit Writing Tip - Presentperfecttenseandpasttenseinyourintroduction readytopublish 我 难 度 : 高 级 对 们 现 不 在 知 仍 道 有 听 影 过 响 多 少 那 次 么 : 研 英 究 过 文 论 去 写 文 时 作 的 表 技 引 示 巧 言 事 : 部 情 引 分 发 言 该 生 使 在 中 用 过 去, 而 现 在 完 成 时 仅 表 示 事 情 发 生 在 过 去, 并 的 哪 现 种 在 时 完 态 成 呢 时? 和 难 过 道 去 不 时 相 关? 是 所 有

More information

20

20 37 92 19 40 19 20 21 1 7 22 1/5 6/30 5/3030 23 24 25 26 1 2 27 1 2 28 29 30 5 8 8 3 31 32 33 34 35 36 37 38 39 A Study Investigating Elementary School Students Concept of the Unit in Fraction in Northern

More information

2017 CCAFL Chinese in Context

2017 CCAFL Chinese in Context Student/Registration Number Centre Number 2017 PUBLIC EXAMINATION Chinese in Context Reading Time: 10 minutes Working Time: 2 hours and 30 minutes You have 10 minutes to read all the papers and to familiarise

More information

<4D6963726F736F667420576F7264202D2032303130C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63>

<4D6963726F736F667420576F7264202D2032303130C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63> 2010 年 理 工 类 AB 级 阅 读 判 断 例 题 精 选 (2) Computer mouse How does the mouse work? We have to start at the bottom, so think upside down for now. It all starts with mouse ball. As the mouse ball in the bottom

More information

C C

C C C C 2017 3 8 1. 2. 3. 4. char 5. 2/101 C 1. 3/101 C C = 5 (F 32). 9 F C 4/101 C 1 // fal2cel.c: Convert Fah temperature to Cel temperature 2 #include 3 int main(void) 4 { 5 float fah, cel; 6 printf("please

More information

PowerPoint Presentation

PowerPoint Presentation TOEFL Practice Online User Guide Revised September 2009 In This Guide General Tips for Using TOEFL Practice Online Directions for New Users Directions for Returning Users 2 General Tips To use TOEFL Practice

More information

untitled

untitled 數 Quadratic Equations 數 Contents 錄 : Quadratic Equations Distinction between identities and equations. Linear equation in one unknown 3 ways to solve quadratic equations 3 Equations transformed to quadratic

More information

mm 5 1 Tab 1 Chemical composition of PSB830 finishing rolled rebars % C Si Mn P S V 0 38 ~ 1 50 ~ 0 80 ~ ~

mm 5 1 Tab 1 Chemical composition of PSB830 finishing rolled rebars % C Si Mn P S V 0 38 ~ 1 50 ~ 0 80 ~ ~ PSB830 365000 32 mm PSB830 PSB830 TG 335 64 A Productive Practition of PSB830 Finishing Rolled Rebars PAN Jianzhou Bar Steel Rolling Minguang Co Ltd of Fujian Sansteel Sanming 365000 China Abstract High

More information

Excel VBA Excel Visual Basic for Application

Excel VBA  Excel Visual Basic for Application Excel VBA Jun5,00 Sub 分頁 () Dim i As Integer Dim Cname As String Dim Code As Variant Set score=thisworkbook.sheets("sheet") Code=Array(" 專北一 "," 專北二 "," 專北三 "," 專桃園 "," 專桃竹 "," 專中苗 ", " 專台中 "," 專台南 ","

More information

CDWA Mapping. 22 Dublin Core Mapping

CDWA Mapping. 22 Dublin Core Mapping (version 0.23) 1 3... 3 3 3 5 7 10 22 CDWA Mapping. 22 Dublin Core Mapping. 24 26 28 30 33 2 3 X version 0.2 ( ) 4 Int VarcharText byte byte byte Id Int 10 Management Main Code Varchar 30 Code Original

More information

PowerPoint Presentation

PowerPoint Presentation ITM omputer and ommunication Technologies Lecture #4 Part I: Introduction to omputer Technologies Logic ircuit Design & Simplification ITM 計算機與通訊技術 2 23 香港中文大學電子工程學系 Logic function implementation Logic

More information

Microsoft Word - 武術合併

Microsoft Word - 武術合併 11/13 醫 學 系 一 年 級 張 雲 筑 武 術 課 開 始, 老 師 並 不 急 著 帶 我 們 舞 弄 起 來, 而 是 解 說 著 支 配 氣 的 流 動 為 何 構 成 中 國 武 術 的 追 求 目 標 武 術, 名 之 為 武 恐 怕 與 其 原 本 的 精 義 有 所 偏 差 其 實 武 術 是 為 了 讓 學 習 者 能 夠 掌 握 身 體, 保 養 身 體 而 發 展, 並

More information

JOURNAL OF EARTHQUAKE ENGINEERING AND ENGINEERING VIBRATION Vol. 31 No. 5 Oct /35 TU3521 P315.

JOURNAL OF EARTHQUAKE ENGINEERING AND ENGINEERING VIBRATION Vol. 31 No. 5 Oct /35 TU3521 P315. 31 5 2011 10 JOURNAL OF EARTHQUAKE ENGINEERING AND ENGINEERING VIBRATION Vol. 31 No. 5 Oct. 2011 1000-1301 2011 05-0075 - 09 510405 1 /35 TU3521 P315. 8 A Earthquake simulation shaking table test and analysis

More information

spss.doc

spss.doc SPSS 8 8.1 K-Means Cluster [ 8-1] 1962 1988 8-1 2 5 31 3 7 20 F2-F3 2 3 F3-F4 3 4 109 8 8-1 2 3 2 3 F2-F3 F3-F4 1962 344 3333 29 9 9.69 1.91 1963 121 1497 27 19 12.37 1.34 1964 187 1813 32 18 9.70 1.06

More information

國 立 屏 東 教 育 大 學 中 國 語 文 學 系 碩 士 班 碩 士 論 文 國 小 國 語 教 科 書 修 辭 格 分 析 以 南 一 版 為 例 指 導 教 授 : 柯 明 傑 博 士 研 究 生 : 鄺 綺 暖 撰 中 華 民 國 一 百 零 二 年 七 月 謝 辭 寫 作 論 文 的 日 子 終 於 畫 下 了 句 點, 三 年 前 懷 著 對 文 學 的 熱 愛, 報 考 了 中

More information

VASP应用运行优化

VASP应用运行优化 1 VASP wszhang@ustc.edu.cn April 8, 2018 Contents 1 2 2 2 3 2 4 2 4.1........................................................ 2 4.2..................................................... 3 5 4 5.1..........................................................

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 i ii Abstract The most important task in human resource management is to encourage and help employees to develop their potential so that they can fully contribute to the organization s goals. The main

More information

入學考試網上報名指南

入學考試網上報名指南 入 學 考 試 網 上 報 名 指 南 On-line Application Guide for Admission Examination 16/01/2015 University of Macau Table of Contents Table of Contents... 1 A. 新 申 請 網 上 登 記 帳 戶 /Register for New Account... 2 B. 填

More information

2015 Chinese FL Written examination

2015 Chinese FL Written examination Victorian Certificate of Education 2015 SUPERVISOR TO ATTACH PROCESSING LABEL HERE Letter STUDENT NUMBER CHINESE FIRST LANGUAGE Written examination Monday 16 November 2015 Reading time: 11.45 am to 12.00

More information

untitled

untitled LBS Research and Application of Location Information Management Technology in LBS TP319 10290 UDC LBS Research and Application of Location Information Management Technology in LBS , LBS PDA LBS

More information

K301Q-D VRT中英文说明书141009

K301Q-D VRT中英文说明书141009 THE INSTALLING INSTRUCTION FOR CONCEALED TANK Important instuction:.. Please confirm the structure and shape before installing the toilet bowl. Meanwhile measure the exact size H between outfall and infall

More information

Microsoft Word - 09.數學136-281.docx

Microsoft Word - 09.數學136-281.docx 136. 計 算 梯 型 面 積 (1 分 ) 請 以 JAVA 運 算 式 計 算 下 面 梯 形 面 積, 並 輸 出 面 積 結 果 梯 形 面 積 公 式 為 :( 上 底 + 下 底 ) 高 2 每 一 組 依 序 分 別 輸 入 梯 形 的 上 底 下 底 及 高 的 整 數 輸 出 梯 形 面 積 輸 入 輸 出 94 190 120 99 54 47 137. 計 算 三 角 形 面

More information

穨1-林聖欽.doc

穨1-林聖欽.doc 1 39 92 11 Geographical Research No. 39, November. 2003 * The historical geographical study of the Taiwanese christening culture: A case of Xuei-gia-liau, Xuei-gia Bau, Yan-Shui-Gang Ting in Japanese Rule

More information

致 谢 本 人 自 2008 年 6 月 从 上 海 外 国 语 大 学 毕 业 之 后, 于 2010 年 3 月 再 次 进 入 上 外, 非 常 有 幸 成 为 汉 语 国 际 教 育 专 业 的 研 究 生 回 顾 三 年 以 来 的 学 习 和 生 活, 顿 时 感 觉 这 段 时 间 也

致 谢 本 人 自 2008 年 6 月 从 上 海 外 国 语 大 学 毕 业 之 后, 于 2010 年 3 月 再 次 进 入 上 外, 非 常 有 幸 成 为 汉 语 国 际 教 育 专 业 的 研 究 生 回 顾 三 年 以 来 的 学 习 和 生 活, 顿 时 感 觉 这 段 时 间 也 精 英 汉 语 和 新 实 用 汉 语 课 本 的 对 比 研 究 The Comparative Study of Jing Ying Chinese and The New Practical Chinese Textbook 专 业 : 届 别 : 姓 名 : 导 师 : 汉 语 国 际 教 育 2013 届 王 泉 玲 杨 金 华 1 致 谢 本 人 自 2008 年 6 月 从 上 海 外

More information

92 (When) (Where) (What) (Productivity) (Efficiency) () (2) (3) (4) (5) (6) (7) em-plant( SiMPLE++) Scheduling When Where Productivity Efficiency [5]

92 (When) (Where) (What) (Productivity) (Efficiency) () (2) (3) (4) (5) (6) (7) em-plant( SiMPLE++) Scheduling When Where Productivity Efficiency [5] DYNAMIC SCHEDULING IN TWO-MACHINE FLOW-SHOP WITH RECIRCULATION em-plant( SiMPLE++) Jen-Shiang Chen, Jar-Her Kao, Chun-Chieh Chen, Po-Cheng Liu, and Wen-Pin Lin Department of Industrial Engineering and

More information

5 1 linear 5 circular 2 6 2003 10 3000 2 400 ~ 500 4500 7 2013 3500 400 ~ 500 8 3 1900 1. 2 9 1 65

5 1 linear 5 circular 2 6 2003 10 3000 2 400 ~ 500 4500 7 2013 3500 400 ~ 500 8 3 1900 1. 2 9 1 65 2014 2 43 EXAMINATIONS RESEARCH No. 2 2014 General No. 43 李 迅 辉 随 着 新 课 程 改 革 的 不 断 深 入, 教 学 理 念 逐 步 更 新, 学 生 的 英 语 水 平 也 在 逐 渐 提 高, 但 沿 用 多 年 的 高 考 英 语 书 面 表 达 的 评 分 标 准 并 没 有 与 时 俱 进, 已 经 不 能 完 全 适 应

More information

hks298cover&back

hks298cover&back 2957 6364 2377 3300 2302 1087 www.scout.org.hk scoutcraft@scout.org.hk 2675 0011 5,500 Service and Scouting Recently, I had an opportunity to learn more about current state of service in Hong Kong

More information

Microsoft PowerPoint _代工實例-1

Microsoft PowerPoint _代工實例-1 4302 動態光散射儀 (Dynamic Light Scattering) 代工實例與結果解析 生醫暨非破壞性分析團隊 2016.10 updated Which Size to Measure? Diameter Many techniques make the useful and convenient assumption that every particle is a sphere. The

More information

untitled

untitled 2006 6 Geoframe Geoframe 4.0.3 Geoframe 1.2 1 Project Manager Project Management Create a new project Create a new project ( ) OK storage setting OK (Create charisma project extension) NO OK 2 Edit project

More information

影響新產品開發成效之造型要素探討

影響新產品開發成效之造型要素探討 異 行 車 例 A Study on the Product Forms Recognition Difference between Designer and Consumer --- Electrical Bicycle as Example. 行 車 省 力 力 綠 老 女 行 車 行 車 了 不 了 行 行 車 行 車 不 行 車 異 行 車 車 車 行 行 異 數 量 I 類 行 異 異

More information

徐汇教育214/3月刊 重 点 关 注 高中生异性交往的小团体辅导 及效果研究 颜静红 摘 要 采用人际关系综合诊断量表 郑日昌编制并 与同性交往所不能带来的好处 带来稳定感和安全感 能 修订 对我校高一学生进行问卷测量 实验组前后测 在 够度过更快乐的时光 获得与别人友好相处的经验 宽容 量表总分和第 4 项因子分 异性交往困扰 上均有显著差 大度和理解力得到发展 得到掌握社会技术的机会 得到 异

More information

東莞工商總會劉百樂中學

東莞工商總會劉百樂中學 /2015/ 頁 (2015 年 版 ) 目 錄 : 中 文 1 English Language 2-3 數 學 4-5 通 識 教 育 6 物 理 7 化 學 8 生 物 9 組 合 科 學 ( 化 學 ) 10 組 合 科 學 ( 生 物 ) 11 企 業 會 計 及 財 務 概 論 12 中 國 歷 史 13 歷 史 14 地 理 15 經 濟 16 資 訊 及 通 訊 科 技 17 視 覺

More information

( Version 0.4 ) 1

( Version 0.4 ) 1 ( Version 0.4 ) 1 3 3.... 3 3 5.... 9 10 12 Entities-Relationship Model. 13 14 15.. 17 2 ( ) version 0.3 Int TextVarchar byte byte byte 3 Id Int 20 Name Surname Varchar 20 Forename Varchar 20 Alternate

More information

(Microsoft Word - 11-\261i\256m\253i.doc)

(Microsoft Word - 11-\261i\256m\253i.doc) 不 同 接 棒 方 法 對 國 小 學 童 大 隊 接 力 成 績 影 響 之 研 究 不 同 接 棒 方 法 對 國 小 學 童 大 隊 接 力 成 績 影 響 之 研 究 張 峻 詠 林 瑞 興 林 耀 豐 國 立 屏 東 教 育 大 學 摘 要 本 研 究 主 要 目 的 在 探 討 不 同 接 棒 方 法 對 國 小 學 童 大 隊 接 力 成 績 影 響 之 研 究, 以 高 雄 市 楠

More information

科学计算的语言-FORTRAN95

科学计算的语言-FORTRAN95 科 学 计 算 的 语 言 -FORTRAN95 目 录 第 一 篇 闲 话 第 1 章 目 的 是 计 算 第 2 章 FORTRAN95 如 何 描 述 计 算 第 3 章 FORTRAN 的 编 译 系 统 第 二 篇 计 算 的 叙 述 第 4 章 FORTRAN95 语 言 的 形 貌 第 5 章 准 备 数 据 第 6 章 构 造 数 据 第 7 章 声 明 数 据 第 8 章 构 造

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

東吳大學

東吳大學 律 律 論 論 療 行 The Study on Medical Practice and Coercion 林 年 律 律 論 論 療 行 The Study on Medical Practice and Coercion 林 年 i 讀 臨 療 留 館 讀 臨 律 六 礪 讀 不 冷 療 臨 年 裡 歷 練 禮 更 老 林 了 更 臨 不 吝 麗 老 劉 老 論 諸 見 了 年 金 歷 了 年

More information

Microsoft PowerPoint - STU_EC_Ch04.ppt

Microsoft PowerPoint - STU_EC_Ch04.ppt 樹德科技大學資訊工程系 Chapter 4: Boolean Algebra and Logic Simplification Shi-Huang Chen Fall 200 Outline Boolean Operations and Expressions Laws and Rules of Boolean Algebra DeMorgan's Theorems Boolean Analysis

More information

Microsoft Word - 第四組心得.doc

Microsoft Word - 第四組心得.doc 徐 婉 真 這 四 天 的 綠 島 人 權 體 驗 營 令 我 印 象 深 刻, 尤 其 第 三 天 晚 上 吳 豪 人 教 授 的 那 堂 課, 他 讓 我 聽 到 不 同 於 以 往 的 正 義 之 聲 轉 型 正 義, 透 過 他 幽 默 熱 情 的 語 調 激 起 了 我 對 政 治 的 興 趣, 願 意 在 未 來 多 關 心 社 會 多 了 解 政 治 第 一 天 抵 達 綠 島 不 久,

More information

高中英文科教師甄試心得

高中英文科教師甄試心得 高 中 英 文 科 教 師 甄 試 心 得 英 語 學 系 碩 士 班 林 俊 呈 高 雄 市 立 高 雄 高 級 中 學 今 年 第 一 次 參 加 教 師 甄 試, 能 夠 在 尚 未 服 兵 役 前 便 考 上 高 雄 市 立 高 雄 高 級 中 學 專 任 教 師, 自 己 覺 得 很 意 外, 也 很 幸 運 考 上 後 不 久 在 與 雄 中 校 長 的 會 談 中, 校 長 的 一 句

More information

untitled

untitled 51Testing Diana LI Xbox Xbox Live Fidelity Investments Office Server group Xbox Expedia Inc ( elong ) 1996 1996. bug break - 5Ws bug. Trust No One) QA Function Assignment Checking Timing Build/Package/Merge

More information

南華大學數位論文

南華大學數位論文 南 華 大 學 ( 文 學 所 ) 碩 士 論 文 論 文 題 目 ( 陳 千 武 小 說 活 著 回 來 及 其 相 關 事 例 研 究 ) 論 文 題 目 (Chen Chien Wu Return Alive And Some Research About It) 研 究 生 : 朱 妍 淩 指 導 教 授 : 林 葉 連 中 華 民 國 一 0 一 年 6 月 8 日 陳 千 武 小 說

More information

A.doc

A.doc A CopyRight: 2003, Mahler Works C > 1.1 C (5 min) 1.1.1C 1.1.21998 ANSIAmerican National Standards InsituteISO International Standards Organzation 1.1.3C/C++C C 1.1.4 C JAVA PLATFORM C 1.2 (5 min)

More information

(baking powder) 1 ( ) ( ) 1 10g g (two level design, D-optimal) 32 1/2 fraction Two Level Fractional Factorial Design D-Optimal D

(baking powder) 1 ( ) ( ) 1 10g g (two level design, D-optimal) 32 1/2 fraction Two Level Fractional Factorial Design D-Optimal D ( ) 4 1 1 1 145 1 110 1 (baking powder) 1 ( ) ( ) 1 10g 1 1 2.5g 1 1 1 1 60 10 (two level design, D-optimal) 32 1/2 fraction Two Level Fractional Factorial Design D-Optimal Design 1. 60 120 2. 3. 40 10

More information

天 主 教 輔 仁 大 學 社 會 學 系 學 士 論 文 小 別 勝 新 婚? 久 別 要 離 婚? 影 響 遠 距 家 庭 婚 姻 感 情 因 素 之 探 討 Separate marital relations are getting better or getting worse? -Exp

天 主 教 輔 仁 大 學 社 會 學 系 學 士 論 文 小 別 勝 新 婚? 久 別 要 離 婚? 影 響 遠 距 家 庭 婚 姻 感 情 因 素 之 探 討 Separate marital relations are getting better or getting worse? -Exp 天 主 教 輔 仁 大 學 社 會 學 系 學 士 論 文 小 別 勝 新 婚? 久 別 要 離 婚? 影 響 遠 距 家 庭 婚 姻 感 情 因 素 之 探 討 Separate marital relations are getting better or getting worse? -Explore the impact of emotional factors couples do not

More information

VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2

VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2 VHDL (Statements) VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2 (Assignment Statement) (Signal Assignment Statement) (Variable Assignment

More information

2009.05

2009.05 2009 05 2009.05 2009.05 璆 2009.05 1 亿 平 方 米 6 万 套 10 名 20 亿 元 5 个 月 30 万 亿 60 万 平 方 米 Data 围 观 CCDI 公 司 内 刊 企 业 版 P08 围 观 CCDI 管 理 学 上 有 句 名 言 : 做 正 确 的 事, 比 正 确 地 做 事 更 重 要 方 向 的 对 错 于 大 局 的 意 义 而 言,

More information

PowerPoint Presentation

PowerPoint Presentation Visual Basic 2005 學 習 範 本 第 7 章 陣 列 的 活 用 7-1 陣 列 當 我 們 需 要 處 理 資 料 時, 都 使 用 變 數 來 存 放 資 料 因 為 一 個 變 數 只 能 代 表 一 個 資 料, 若 需 要 處 理 100 位 同 學 的 成 績 時, 便 要 使 用 100 個 不 同 的 變 數 名 稱, 這 不 但 會 增 加 變 數 名 稱 命 名

More information

TX-NR3030_BAS_Cs_ indd

TX-NR3030_BAS_Cs_ indd TX-NR3030 http://www.onkyo.com/manual/txnr3030/adv/cs.html Cs 1 2 3 Speaker Cable 2 HDMI OUT HDMI IN HDMI OUT HDMI OUT HDMI OUT HDMI OUT 1 DIGITAL OPTICAL OUT AUDIO OUT TV 3 1 5 4 6 1 2 3 3 2 2 4 3 2 5

More information

Gerotor Motors Series Dimensions A,B C T L L G1/2 M G1/ A 4 C H4 E

Gerotor Motors Series Dimensions A,B C T L L G1/2 M G1/ A 4 C H4 E Gerotor Motors Series Size CC-A Flange Options-B Shaft Options-C Ports Features 0 0 5 5 1 0 1 0 3 3 0 0 SAE A 2 Bolt - (2) 4 Bolt Magneto (4) 4 Bolt Square (H4) 1.0" Keyed (C) 25mm Keyed (A) 1.0' 6T Spline

More information

Stochastic Processes (XI) Hanjun Zhang School of Mathematics and Computational Science, Xiangtan University 508 YiFu Lou talk 06/

Stochastic Processes (XI) Hanjun Zhang School of Mathematics and Computational Science, Xiangtan University 508 YiFu Lou talk 06/ Stochastic Processes (XI) Hanjun Zhang School of Mathematics and Computational Science, Xiangtan University hjzhang001@gmail.com 508 YiFu Lou talk 06/04/2010 - Page 1 Outline 508 YiFu Lou talk 06/04/2010

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

LEETCODE leetcode.com 一 个 在 线 编 程 网 站, 收 集 了 IT 公 司 的 面 试 题, 包 括 算 法, 数 据 库 和 shell 算 法 题 支 持 多 种 语 言, 包 括 C, C++, Java, Python 等 2015 年 3 月 份 加 入 了 R

LEETCODE leetcode.com 一 个 在 线 编 程 网 站, 收 集 了 IT 公 司 的 面 试 题, 包 括 算 法, 数 据 库 和 shell 算 法 题 支 持 多 种 语 言, 包 括 C, C++, Java, Python 等 2015 年 3 月 份 加 入 了 R 用 RUBY 解 LEETCODE 算 法 题 RUBY CONF CHINA 2015 By @quakewang LEETCODE leetcode.com 一 个 在 线 编 程 网 站, 收 集 了 IT 公 司 的 面 试 题, 包 括 算 法, 数 据 库 和 shell 算 法 题 支 持 多 种 语 言, 包 括 C, C++, Java, Python 等 2015 年 3 月 份

More information

<4D6963726F736F667420576F7264202D205F4230365FB942A5CEA668B443C5E9BB73A740B5D8A4E5B8C9A552B1D0A7F75FA6BFB1A4ACFC2E646F63>

<4D6963726F736F667420576F7264202D205F4230365FB942A5CEA668B443C5E9BB73A740B5D8A4E5B8C9A552B1D0A7F75FA6BFB1A4ACFC2E646F63> 運 用 多 媒 體 製 作 華 文 補 充 教 材 江 惜 美 銘 傳 大 學 應 用 中 文 系 chm248@gmail.com 摘 要 : 本 文 旨 在 探 究 如 何 運 用 多 媒 體, 結 合 文 字 聲 音 圖 畫, 製 作 華 文 補 充 教 材 當 我 們 在 進 行 華 文 教 學 時, 往 往 必 須 透 過 教 案 設 計, 並 製 作 補 充 教 材, 方 能 使 教 學

More information

els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8

els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8 els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8 Yamaha ELS-0/0C..8 LCD ELS-0/0C v. typeu LCD ELS-0/0C typeu / -6 / [SEARCH] / - ZH ELS-0/0C.8 els0xu_zh_nf_v8.book Page Wednesday, June,

More information