freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]c語(yǔ)言第四版課件第7章函數(shù)-資料下載頁(yè)

2025-10-09 23:36本頁(yè)面
  

【正文】 78 58 62 64 The largest number is 78 it is the 7th number. Press any key to continue */ 數(shù)組名可作函數(shù)參數(shù) P194 數(shù)組名可以作函數(shù)的形式參數(shù), ( * 此時(shí)系統(tǒng)將形參數(shù)組名處理成指針 ) 此時(shí)實(shí)際參數(shù)也必須是數(shù)組名; 數(shù)組名也可以作函數(shù)的實(shí)際參數(shù)。 例 有一個(gè)一維數(shù)組 score,內(nèi)放 10個(gè)學(xué)生成績(jī),求平均成績(jī)。 例 程序如下 include int main() { float average( float array[10] )。 float score[ 10], aver; int i; printf( input 10 scores:\ n); for( i= 0; i< 10; i++) scanf( % f,& score[ i]); printf( \ n); aver= average( score); printf(“ average score is % 5. 2f” , aver); return(0)。 } float average( float array[10] ) { int i; float aver, sum= array[ 0]; for( i= 1; i< 10; i++) sum= sum+ array[ i]; aver= sum/ 10; return( aver); } 運(yùn)行情況如下: input 10 scores: 100 56 78 76 87 99 75 97 average score is 說(shuō)明: P195 (1)用數(shù)組名作函數(shù)參數(shù),應(yīng)該在主調(diào)函數(shù)和被調(diào)用函數(shù)分別定義數(shù)組。 例中 array是形參數(shù)組名, score是實(shí)參數(shù)組名,分別在其所在函數(shù)中定義,不能只在一方定義。 (2) 實(shí)參數(shù)組與形參數(shù)組類(lèi)型應(yīng)一致(今都為 float型),如不一致,結(jié)果將出錯(cuò)。 (3) 在被調(diào)用函數(shù)中聲明了形參數(shù)組的大小為 10, 但在實(shí)際上,指定其大小是不起任何作用的, 因?yàn)椋镁幾g對(duì)形參數(shù)組大小不做檢查,只是將實(shí)參數(shù)組的首地址傳給形參數(shù)組。 因此, score[ n]和 array[ n]指的是同一單元。 (4) 形參數(shù)組也可以不指定大小,在定義數(shù)組時(shí)在數(shù)組名后面跟一個(gè)空的方括弧,為了在被調(diào)用函數(shù)中處理數(shù)組元素的需要,可以另設(shè)一個(gè)參數(shù),傳遞數(shù)組元素的個(gè)數(shù)。 *在編譯時(shí)把形參數(shù)組處理成指針。 include // 例 P195 int main( ) { float average( float array[ ], int n) 。 float score1[ 5]={ , 97, , 60, 55}; float score2[ 10] ={, , 99, , 77, , 54, 60, }。 printf(the average of class A is %\ n,average(score1, 5))。 printf(the average of class B is %\ n,average(score2, 10))。 return(0)。 } float average( float array[ ], int n) { int i; float aver, sum= array[ 0]; for( i= 1; i< n; i++) sum= sum+ array[ i]; aver= sum/ n; return( aver); } 運(yùn)行結(jié)果如下: the average of class A is the average of class B is ? *(5) 最后應(yīng)當(dāng)說(shuō)明一點(diǎn) : 用數(shù)組名作函數(shù)實(shí)參時(shí) ,不是把數(shù)組元素的值依次傳遞給形參數(shù)組元素,而是把實(shí)參數(shù)組的起始地址傳遞給形參數(shù)組,這樣兩個(gè)數(shù)組就共占同一段內(nèi)存單元。 ? 由此, *形參數(shù)組中各元素的值如發(fā)生變化會(huì)使實(shí)參數(shù)組元素的值同時(shí)發(fā)生變化。 ? *這一點(diǎn)是與變量做函數(shù)參數(shù)的情況不相同的,務(wù)請(qǐng)注意。 *例 用選擇法對(duì)數(shù)組中 10個(gè)整數(shù)按由小到大排序。 一趟: 所謂選擇法就是先找出無(wú)序表中最小的數(shù)(第一趟 10個(gè)數(shù))。 然后再將這個(gè)最小的數(shù)與無(wú)序表中的第一個(gè)元素交換(第一趟與 a[ 0]對(duì)換) 。 N1趟 (9趟 ):完成排序。 void sort( int array[], int n) { int i,j, k, t; for( i= 0; i< n- 1; i++) { k= i; for(j= i+ 1;j< n;j++) if( array[j]< array[ k]) k=j; t= array[k]; array[k]= array[i];array[i]= t; } } include int main( ) { void sort( int array[ ], int n )。 int a[10], i; printf(enter the array\n“) ; for(i=0。 i10。 i++) scanf(% d, amp。a[i])。 sort( a, 10) printf(the sorted array:\n)。 for( i=0。 i10。i++) printf(% d“, a[i])。 printf(\n)。 return(0)。 } void sort( int array[ ], int n) { int i, j, k, t; for(i=0。 in1。 i++) { k= i; for( j=i+1; jn。 j++) if ( array[j] array[k] ) k=j。 t=array[k]。 array[k]=array[i]。 array[i]=t。 } } 多維數(shù)組名作函數(shù)參數(shù) P197 ? 二維數(shù)組(或多維數(shù)組)元素 可以作為函數(shù)的實(shí)參,這點(diǎn)與前述相同。 ? 可以用二維數(shù)組名(或多維數(shù)組名)作為函數(shù)的實(shí)參和形參。 ? 在被調(diào)用函數(shù)中對(duì)形參數(shù)組定義時(shí)可以指定每一維的大小,也可以省略第一維的大小說(shuō)明。 如 int array[3][10]; int array[ ][10]; 二者都合法而且等價(jià)。 例 P198 有一個(gè) 3 4的矩陣,求所有元素中的最大值。 解此題的算法是: 先使變量 max的初值為矩陣中第一個(gè)元素的值,然后將矩陣中各個(gè)元素的值與 max相比,每次比較后都把“大者”存放在 max中,全部元素比較完后, max 的值就是所有元素的最大值。 程序如下: include void main( ) {int maxvalue( int array[ ][4]) 。 int a[3][4]= {{1, 3, 5, 7},{2, 4, 6, 8},{15, 17, 34,12}}; printf( max value is% d\ n, maxvalue(a) ); } int maxvalue( int array[ ][4]) { int i, j, max; max=array[0][0]; for ( i=0; i3; i++ ) for (j=0; j4; j++) if (array[i][j]max) max= array[i][j]; return(max); } 運(yùn)行結(jié)果如下: max value is 34 備用
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1