C++語(yǔ)言程序設(shè)計(jì) 數(shù)組_第1頁(yè)
C++語(yǔ)言程序設(shè)計(jì) 數(shù)組_第2頁(yè)
C++語(yǔ)言程序設(shè)計(jì) 數(shù)組_第3頁(yè)
C++語(yǔ)言程序設(shè)計(jì) 數(shù)組_第4頁(yè)
C++語(yǔ)言程序設(shè)計(jì) 數(shù)組_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C++語(yǔ)言程序設(shè)計(jì)數(shù)組2數(shù)組的概念數(shù)組是具有一定順序關(guān)系的若干相同類型變量的集合體,組成數(shù)組的變量稱為該數(shù)組的元素。數(shù)組屬于構(gòu)造類型。3一維數(shù)組的聲明與引用一維數(shù)組的聲明類型說(shuō)明符數(shù)組名[常量表達(dá)式];

例如:inta[10];

表示a為整型數(shù)組,有10個(gè)元素:a[0]...a[9]常量表達(dá)式為常量和符號(hào)常量。不允許有變量或表達(dá)式,其表達(dá)式的值代表了元素的個(gè)數(shù)。

數(shù)組名的構(gòu)成方法與一般變量名相同4一維數(shù)組的存儲(chǔ)順序數(shù)組元素在內(nèi)存中順次存放,它們的地址是連續(xù)的。例如:具有10個(gè)元素的數(shù)組a,在內(nèi)存中的存放次序如下:數(shù)組名字是數(shù)組首元素的內(nèi)存地址。數(shù)組名是一個(gè)常量,不能被賦值。a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a5<數(shù)組名>[<下標(biāo)>]下標(biāo)是一個(gè)整型表達(dá)式例如:a[2],a[3*i+1]必須先聲明,后使用

引用數(shù)組元素要注意下標(biāo)不要出界(編譯程序不檢查是否出界)只能逐個(gè)引用數(shù)組元素,而不能一次引用整個(gè)數(shù)組一維數(shù)組的引用6一維數(shù)組的初始化可以在編譯階段使數(shù)組得到初值:在聲明數(shù)組時(shí)對(duì)數(shù)組元素賦以初值。

例如:inta[10]={0,1,2,3,4,5,6,7,8,9};可以只給一部分元素賦初值。

例如:inta[10]={0,1,2,3,4};在對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長(zhǎng)度。

例如:inta[]={1,2,3,4,5};如對(duì)數(shù)組元素賦同一初值,必須一一寫出7一維數(shù)組應(yīng)用舉例例7-1、循環(huán)從鍵盤讀入一個(gè)班的若干個(gè)學(xué)生(人數(shù)不超過(guò)30)的某門課程的成績(jī),成績(jī)介于0到100之間,如輸入-1表示成績(jī)輸入完畢。計(jì)算這個(gè)班的學(xué)生該門課的平均分,并輸出低于平均分的學(xué)生人數(shù)以及最高分。8#include<iostream>usingnamespacestd;intmain(){ constintStuNum=30; doublescore[StuNum],ave=0,s,max; inti,n(0),m(0); cout<<"請(qǐng)輸入班級(jí)的所有學(xué)生成績(jī)(輸入-1結(jié)束):"<<endl; while(1) { cin>>s; if(s==-1) break; score[n]=s; ave+=s; n++; }9 ave=ave/n; cout<<"該班級(jí)的"<<n<<"個(gè)學(xué)生的平均分為"<<ave<<endl; max=score[0]; for(i=0;i<n;i++) { if(score[i]<ave)m++; if(max<score[i])max=score[i]; } cout<<"該班級(jí)低于平均分的學(xué)生的人數(shù)為"<<m<<endl; cout<<"這個(gè)班的最高分為"<<max<<endl; return0;}如何求出這個(gè)班的最低分?掌握在一批數(shù)據(jù)中尋找最大值和最小值方法10存儲(chǔ)順序按行存放,上例中數(shù)組a的存儲(chǔ)順序?yàn)椋?/p>

二維數(shù)組的聲明類型說(shuō)明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]例如:floata[3][4];a00a01a02a03a10a11a12a13a20a21a22a23a[0]——a00a01a02a03a[1]——a10a11a12a13

a[2]——a20a21a22a23a可以理解為:引用例如:b[1][2]=a[2][3]/2下標(biāo)不要越界二維數(shù)組的聲明及引用11將所有數(shù)據(jù)寫在一個(gè){}內(nèi),按順序賦值例如:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};分行給二維數(shù)組賦初值例如:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};可以對(duì)部分元素賦初值例如:inta[3][4]={{1},{0,6},{0,0,11}};可通過(guò)賦初值決定數(shù)組大小。如為二維,則只可省略第一維的大小。二維數(shù)組的初始化12二維數(shù)組應(yīng)用舉例例7-2、從鍵盤讀入10個(gè)學(xué)生(人數(shù)不超過(guò)30)的三門課程的成績(jī),成績(jī)介于0到100之間。計(jì)算每個(gè)學(xué)生的三門課平均成績(jī)并輸出。13#include<iostream>usingnamespacestd;intmain(){ constintStuNum=10; doublescore[StuNum][3],ave[StuNum]; inti,j; for(i=0;i<StuNum;i++) { cout<<"請(qǐng)輸入第"<<i+1<<"個(gè)學(xué)生3門課的分?jǐn)?shù):"; for(j=0;j<3;j++)cin>>score[i][j]; }14 for(i=0;i<StuNum;i++) { ave[i]=0; for(j=0;j<3;j++) {ave[i]=ave[i]+score[i][j]; } ave[i]=ave[i]/3; cout<<"第"<<i+1<<"學(xué)生3門課的平均分為:"<<ave[i]<<endl; } return0;}15二維數(shù)組應(yīng)用舉例例7-3、求出一個(gè)3*4矩陣的每行數(shù)據(jù)元素之和1-3412328711083198166716#include<iostream>usingnamespacestd;intmain(){ inta[3][4]={ 1,-3,4,12, 32,87,110,8, 31,98,16,67}; inti,j; cout<<"矩陣為:"<<endl; for(i=0;i<3;i++) { for(j=0;j<4;j++) cout<<a[i][j]<<"\t"; cout<<endl; }17 intsum(0); for(i=0;i<3;i++) { sum=0; cout<<"第"<<i+1<<"行數(shù)據(jù)的和為:"; for(j=0;j<4;j++) sum=sum+a[i][j]; cout<<sum<<endl; } return0;}1.如何求出每一列的數(shù)值之積?2.如何尋找該矩陣中最大元素所在的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論