C++程序設(shè)計:第8章 數(shù)組_第1頁
C++程序設(shè)計:第8章 數(shù)組_第2頁
C++程序設(shè)計:第8章 數(shù)組_第3頁
C++程序設(shè)計:第8章 數(shù)組_第4頁
C++程序設(shè)計:第8章 數(shù)組_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1請將您的手機鈴聲請將您的手機鈴聲設(shè)置為震動設(shè)置為震動2作業(yè)作業(yè)&實驗教程:實驗教程: 1.閱讀程序閱讀程序 (第第49頁頁) 2.程序改錯程序改錯 (第第49頁頁) 4.編寫程序編寫程序 (第第51頁頁)3v一維數(shù)組一維數(shù)組v二維數(shù)組二維數(shù)組v字符數(shù)組字符數(shù)組數(shù)數(shù) 組組一維數(shù)組一維數(shù)組二維數(shù)組二維數(shù)組4定義:定義:數(shù)據(jù)類型數(shù)據(jù)類型 數(shù)組名數(shù)組名常量表達式常量表達式; 合法標(biāo)合法標(biāo)識符識符數(shù)據(jù)元數(shù)據(jù)元素個數(shù)素個數(shù)下標(biāo)運算符下標(biāo)運算符(p276)例子:例子:int a4; char x2;一維數(shù)組一維數(shù)組int a4;xxxxxxxxa0a1a2a31000Ha1000H5#includ

2、e stdio.hvoid main( ) int i; for(i=0;i3;i+) scanf(%d,&ai); printf(%dn,ai); error C2065: a : undeclared identifierv一維數(shù)組的引用一維數(shù)組的引用數(shù)組必須先定義,后使用數(shù)組必須先定義,后使用6#include stdio.hvoid main() int i, a3, a=0; for(i=0;i3;i+) scanf(%d,&ai); a=a+ai; printf(%d,a);error C2040: a : int differs in levels of v一維數(shù)

3、組的引用一維數(shù)組的引用數(shù)組必須先定義,后使用數(shù)組必須先定義,后使用數(shù)組名不能與程序中的其它變量同名數(shù)組名不能與程序中的其它變量同名 7代表數(shù)據(jù)長度的常量表達式不能使用變量代表數(shù)據(jù)長度的常量表達式不能使用變量 數(shù)據(jù)元素的下標(biāo)起始值為數(shù)據(jù)元素的下標(biāo)起始值為0例例 printf(%d,a); ( )例例 int data5; data5=10; ( ) 數(shù)組必須先定義,后使用數(shù)組必須先定義,后使用修改修改 for(j=0;j10;j+) printf(%d ,aj);( )v一維數(shù)組的引用一維數(shù)組的引用數(shù)組名不能與程序中的其它變量同名數(shù)組名不能與程序中的其它變量同名 只能逐個引用數(shù)組元素只能逐個引用

4、數(shù)組元素,不能整體使用不能整體使用例例 int i=15; ( ) int datai; 8數(shù)據(jù)元素的下標(biāo)起始值為數(shù)據(jù)元素的下標(biāo)起始值為0 0數(shù)組必須先定義,后使用數(shù)組必須先定義,后使用代表數(shù)據(jù)長度的常量表達式不能使用變量代表數(shù)據(jù)長度的常量表達式不能使用變量 v一維數(shù)組的引用一維數(shù)組的引用數(shù)組名不能與程序中的其它變量同名數(shù)組名不能與程序中的其它變量同名 只能逐個引用數(shù)組元素只能逐個引用數(shù)組元素, ,不能整體使用不能整體使用對數(shù)組名不允許進行對數(shù)組名不允許進行+或或-運算運算例例 int d5; d+; ( )數(shù)組可以在定義時直接賦初值數(shù)組可以在定義時直接賦初值例例 int a2=5,7; 例例

5、 int a5=5,7; 9例例: :求求10個個整數(shù)的最大值和最小值整數(shù)的最大值和最小值#include stdio.hvoid main() int x10,i,max,min; for(i=0;i10;i+) scanf(%d,&xi);printf(Maximum is %dn,max); printf(Minimum is %dn,min);max=min=x0;for(i=1;i10;i+) if(maxxi) min=xi;10例例:用變量求用變量求Fibonacci數(shù)列前數(shù)列前20個數(shù)個數(shù)#include stdio.hvoid main( ) int i, f1=1,

6、 f2=1; for(i=1;i=10;i+) printf(%d,%d,f1,f2); f1=f1+f2; f2=f1+f2; 1, 1, 2, 3, 5, 8, 13, 21, 34, 5611例例: 求求Fibonacci數(shù)列前數(shù)列前20個數(shù)個數(shù)f0f1f2f3f4f5f1911f0=1;f1=1;fi=fi-1+fi-2; (i2).2358676512#include stdio.hvoid main( ) int i; int f20=1,1; for(i=2;i20;i+) fi=fi-2+fi-1; for(i=0;i20;i+) if(i%5=0) printf(n); pr

7、intf(%12d,fi); 例例:用數(shù)組求用數(shù)組求Fibonacci數(shù)列前數(shù)列前20個數(shù)個數(shù)1338 49 65 76 1338 49 65 1338 49 1349 38 65 97 76 133849769713971376136597766513494938 1313383813例例:用用冒泡法冒泡法對對6個數(shù)排序個數(shù)排序14#include stdio.hvoid main( ) int a6,i,j,t; for(i=0;i6;i+) scanf(%d,&ai); for(i=0;i6;i+) printf(%d ,ai);例例:用用冒泡法冒泡法對對6個數(shù)排序個數(shù)排序for

8、(i=0;i5;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; 1549 38 65 13 76 27例例: :用用選擇法選擇法對對6個數(shù)排序個數(shù)排序493838131349 65 38 76 27493838272765 49 76 38496538493865 76 49 496549 76 65 6576657616#include stdio.hvoid main( ) int a6, i, j, t; for(i=0; i6; i+) scanf(%d, &ai); for(i=0;i6;i+) printf(%d ,ai);例例: :用用

9、選擇法選擇法對對6個數(shù)排序個數(shù)排序for(i=0;i5;i+) for(j=i+1;jaj) t=ai; ai=aj; aj=t; 17第一輪第一輪: : 49 38 65 13 76 27 j i例例: :用用簡單選擇法簡單選擇法對對a6數(shù)組數(shù)組升排序升排序k18例例: :用用簡單選擇法簡單選擇法對對a6數(shù)組數(shù)組升排序升排序第一輪第一輪: : 49 38 65 13 76 27j j ik kkj jj jkj j jai與與ak交換交換49131319第一輪第一輪: : 49 38 65 13 76 27j j i k kkj jai與與ak交換交換491313第二輪第二輪: : 38 6

10、5 49 76 27j j j273827例例: :用用簡單選擇法簡單選擇法對對a6數(shù)組數(shù)組升排序升排序20例例: :用用簡單選擇法簡單選擇法對對a6數(shù)組數(shù)組升排序升排序第一輪第一輪: : 49 38 65 13 76 27ai與與ak交換交換491313第二輪第二輪: : 38 65 49 76 382727j j第三輪第三輪: : 65 49 76 38j jj3865k k i38k kk21#include stdio.hvoid main() int a6,i,j,k,x; for(i=0;i6;i+) scanf(%d,&ai); for(i=0;i6;i+) printf

11、(%d ,ai);例例: :用用簡單選擇法簡單選擇法對對6個數(shù)排序個數(shù)排序for(i=0;i5;i+) k=i; for(j=i+1;j6;j+) if(ajak) k=j; if(i!=k) x=ai; ai=ak; ak=x;22二維數(shù)組二維數(shù)組v二維數(shù)組的定義二維數(shù)組的定義v二維數(shù)組的初始化二維數(shù)組的初始化v二維數(shù)組的簡單示例二維數(shù)組的簡單示例23定義:定義:數(shù)據(jù)類型數(shù)據(jù)類型 數(shù)組名數(shù)組名常量表達式常量表達式常量表達式常量表達式;行數(shù)行數(shù)列數(shù)列數(shù)例例 int a34; float b25; int a3,4; ( )存放順序存放順序:按列先變化存放在一維內(nèi)存中按列先變化存放在一維內(nèi)存中a

12、01a10a11a20a21a00int a32a00 a01a10 a11a20 a21v二維數(shù)組二維數(shù)組24v二維數(shù)組示例二維數(shù)組示例a01a02a03a10a11a00a13a20a21a22a23a12a0a1a2a0a1a2行行名名a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a23每個元素每個元素ai由包含由包含4個個元素的一維數(shù)組組成元素的一維數(shù)組組成int a34;二維數(shù)組二維數(shù)組a是由是由3個元素組成個元素組成25分行初始化分行初始化 例例 int a23=1,2,3,4,5,6;a00a01a02a10a11a12123456全部初始化

13、全部初始化 例例 int a23=1,2,4;a00a01a02a10a11a12120400部分初始化部分初始化 例例 int a3=1,2,3,4,5,6;a00a01a02a10a11a12123456第一維長度省略初始化第一維長度省略初始化v二維數(shù)組元素的初始化二維數(shù)組元素的初始化26分行初始化分行初始化按元素排列順序初始化按元素排列順序初始化 例例 int a23=1,2,3,4,5,6;a00a01a02a10a11a12123456全部初始化全部初始化 例例 int a23=1,2,4;a00a01a02a10a11a12124000部分初始化部分初始化v二維數(shù)組元素的初始化二維

14、數(shù)組元素的初始化 例例 int a 3=1,2,3,4,5;a00a01a02a10a11a12123450第一維長度省略初始化第一維長度省略初始化27例例: :求二維數(shù)組中最大元素及其行列號求二維數(shù)組中最大元素及其行列號#include stdio.hvoid main() int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; int i,j,r=0,c=0,max; max=a00; printf(max:%d,r:%d,c:%d,max,r+1,c+1);for(i=0;i3;i+) for(j=0;jmax) max=aij; r=i; c=j; 28例例: :互換

15、行列元素到并保存到另一數(shù)組互換行列元素到并保存到另一數(shù)組a=1 2 34 5 6b=1 42 53 6bji=aij29#include stdio.hvoid main() int a23=1,2,3,4,5,6, b32,i,j; for(i=0;i3;i+) for(j=0;j2;j+) printf(%5d,bij); printf(n); 例例: :互換行列元素到并保存到另一數(shù)組互換行列元素到并保存到另一數(shù)組for(i=0;i2;i+) for(j=0;j3;j+) bji=aij;302003年試題四年試題四/(3)2123.4916(1)nsn分析:尋找各項之間的規(guī)律分析:尋找各項之間的規(guī)律sign=-1*sig

溫馨提示

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

評論

0/150

提交評論