資源描述:
《第7章 數(shù)組例題匯總以及上機(jī)作業(yè).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、本章上機(jī)本章所有作業(yè)題,上機(jī)驗(yàn)證或編制調(diào)試實(shí)驗(yàn)8的案例3楊輝三角講過(guò)的典型例題上機(jī)驗(yàn)證第七章數(shù)組1).可通過(guò)循環(huán)給數(shù)組元素賦初值Fori=1To10‘A數(shù)組的每個(gè)元素值為1A(i)=1Nexti2).數(shù)組的輸入輸入10個(gè)數(shù),并存入到數(shù)組A中Fori=1To10A(i)=Val(InputBox(“輸入A(”&i&“)的值”))Nexti上機(jī)一:編程完成一維數(shù)組的基本操作----輸入輸出及求最值3).求數(shù)組中最大元素及所在下標(biāo)DimMaxAsInteger,iMaxAsIntegerMax=A(1):iMax=
2、1Fori=2To10IfA(i)>MaxThenMax=A(i)iMax=iEndIfNextiPrint"A("&iMax&")=";A(iMax)編程:將數(shù)組元素倒置Fori=1To102t=A(i)A(i)=A(10-i+1)A(10-i+1)=tNextI(演示)OptionExplicitConstNUM=60'聲明代表班上學(xué)生人數(shù)的符號(hào)常量PrivateSubForm_Click()Dima(NUM)AsInteger,iAsIntegerDimSumAsInteger,AverAsSingl
3、e,NAsIntegerSum=0'給Sum賦初值Fori=1ToNUM'輸入學(xué)生成績(jī),并求和a(i)=Val(InputBox("輸入第("&i&")學(xué)生的成績(jī)"))Sum=Sum+a(i)NextiAver=Sum/NUMN=0Fori=1ToNUM'統(tǒng)計(jì)高于平均成績(jī)的人數(shù)Ifa(i)>AverThenN=N+1NextiPrint"全班平均成績(jī):"&Aver&"共有"&N&"高于平均成績(jī)"EndSub編程求某班60個(gè)學(xué)生某門課程考試的平均成績(jī)及高于平均成績(jī)的學(xué)生人數(shù)。在上題中編程統(tǒng)計(jì)0~9,10~19,
4、20~29,….80~89,90~99分?jǐn)?shù)段及100分的學(xué)生人。另用數(shù)組bn來(lái)存各分?jǐn)?shù)段的人數(shù),并用bn(0)存0~9分的人數(shù),bn(1)存10~19分的人數(shù),…bn(9)存90~99分的人數(shù),bn(10)存100分的人數(shù)。OptionExplicitConstNUM=60'聲明代表班上學(xué)生人數(shù)的符號(hào)常量PrivateSubForm_Click()Dima(NUM)AsInteger,iAsIntegerDimbn(0To10)AsInteger,kAsIntegerFori=1ToNUM'輸入學(xué)生成績(jī),并求
5、和a(i)=InputBox("輸入第("&i&")學(xué)生的成績(jī)")Printa(i);k=Int(a(i)/10)bn(k)=bn(k)+1NextiPrintFori=0To9'打印輸出各分?jǐn)?shù)段的學(xué)生人數(shù)Print(i*10)&"~"&(i*10+9)&"的學(xué)生人數(shù):"&bn(i)NextiPrintTab(10);"100學(xué)生人數(shù):"&bn(i)EndSubFori=1Ton-1p=iForj=i+1TonIfa(p)>a(j)Thenp=jNextjt=a(i):a(i)=a(p):a(p)=tNext
6、i選擇法排序(升序)的VB程序:思考:如果按降序排,程序如何修改?第五章數(shù)組編程對(duì)一維數(shù)組的數(shù)據(jù)排序習(xí)題用隨機(jī)函數(shù)產(chǎn)生50個(gè)10~100的隨機(jī)整數(shù),并按由小到大的順序打印出來(lái)。OptionExplicitOptionBase1PrivateSubForm_Click()DimiAsInteger,jAsInteger,tAsInteger,pAsIntegerConstN=50Dima(N)AsIntegerPrint"排序前數(shù)據(jù):"Fori=1ToN'產(chǎn)生[10,99]之間的隨機(jī)整數(shù)a(i)=Int(Rnd
7、*90)+10Printa(i);IfiMod10=0ThenPrint'每行打印10個(gè)元素NextiPrintFori=1ToN–1'排序p=iForj=i+1ToNIfa(p)>a(j)Thenp=jNextjt=a(i):a(i)=a(p):a(p)=t'交換數(shù)據(jù)NextiPrint"排序后數(shù)據(jù):"Fori=1ToNPrinta(i);IfiMod10=0ThenPrint'打印換行NextiEndSubFori=1Ton-1Forj=1Ton-iIfa(j)>a(j+1)Thent=a(j):a(j)
8、=a(j+1):a(j+1)=tEndifNextjNexti冒泡法排序(升序)程序:演示第五章數(shù)組一維數(shù)組的應(yīng)用——數(shù)據(jù)排序二維數(shù)組數(shù)據(jù)的輸入ConstN=4,M=5,L=6Dima(1toN,1toM)AsInteger,i%,j%,k%1).給二維數(shù)組a輸入數(shù)據(jù)的程序段如下:Fori=1to4Forj=1to5A(i,j)=Val(InputBox("a("&I&","&j&")=?"))Ne