已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1,第8周實(shí)驗(yàn),作業(yè)1:從鍵盤輸入20個(gè)數(shù)到m數(shù)組,將下標(biāo)為0、2、4的元素賦值給數(shù)組n,輸出n中內(nèi)容作業(yè)2:產(chǎn)生10個(gè)50,90上的隨機(jī)整數(shù),求其中能被5整除的所有數(shù)的和。作業(yè)3:將10個(gè)數(shù)(可以隨機(jī)產(chǎn)生)中所有的偶數(shù)除以2,奇數(shù)乘以2.作業(yè)4:求20個(gè)數(shù)(可以隨機(jī)產(chǎn)生)中的最大值和次最大值。作業(yè)5:30個(gè)元素,賦予從2開始的偶數(shù),每5個(gè)求一個(gè)平均值放到另一數(shù)組作業(yè)6:數(shù)組為20個(gè)整數(shù),求其中的素?cái)?shù)。作業(yè)7:教材975-6作業(yè)8:實(shí)驗(yàn)指導(dǎo)45:6,2,引例:輸入30個(gè)學(xué)生的成績,求高于平均成績的人數(shù)。,#includestdio.hmain()inti,x,k=0;floats=0,ave;for(i=1;i=30;i+)scanf(%d,for(i=1;i=30;i+)if(ave?)k+;如何保存30個(gè)成績?,變量性質(zhì):能保存多個(gè)數(shù)據(jù)(長度)通過循環(huán)訪問數(shù)據(jù)(有序),3,數(shù)組,定義:有序數(shù)據(jù)的集合特點(diǎn):所有元素類型相同要素:數(shù)組名、下標(biāo),t,t0,t1,t9,4,第5章數(shù)組,數(shù)組的定義和引用對(duì)數(shù)組元素的操作:對(duì)調(diào)、最大值、最小值、平均值、和對(duì)整個(gè)數(shù)組的操作:產(chǎn)生隨機(jī)數(shù)組、逆序、排序?qū)ψ址麛?shù)組的操作:連接、復(fù)制、比較,5,一、一維數(shù)組的定義和引用定義類型標(biāo)識(shí)符數(shù)組名數(shù)組長度;,5.1一維數(shù)組,inta10;表示數(shù)組a共包括10個(gè)元素,分別為a0a9。,整數(shù)或整型常量表達(dá)式,6,main()inti,b10;for(i=0;i10;i+)scanf(%d,只能逐個(gè)引用數(shù)組元素,而不能一次引用整個(gè)數(shù)組。引用形式:數(shù)組名下標(biāo),2.一維數(shù)組的引用,例5-1數(shù)組元素的引用。,bi=i;,整型表達(dá)式,從0開始。,1、如何使數(shù)組元素為:1001092、作業(yè)1:從鍵盤輸入20個(gè)數(shù)到m數(shù)組,將下標(biāo)為0、2、4的元素賦值給數(shù)組n,輸出n中內(nèi)容。,7,在定義數(shù)組時(shí),對(duì)全部數(shù)組元素賦初值。inta5=6,2,7,-3,5;只給一部分元素賦值。inta5=6,2;inta5=6,2,0,0,0;定義數(shù)組時(shí)使數(shù)組a中全部元素自動(dòng)賦以0值。staticinta5;inta5=0;對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長度。inta3=1,2,3;inta=1,2,3;,二、一維數(shù)組的初始化,8,2.rand函數(shù)的用法:格式:rand()說明:(1)該函數(shù)包含在頭文件stdlib.h中。(2)該函數(shù)產(chǎn)生0到整型最大值之間的一個(gè)隨機(jī)整數(shù)。,產(chǎn)生a,b區(qū)間上任意整數(shù)的方法:rand()%(b-a+1)+a,srand函數(shù)(頭文件time.h)srand(time(0)用當(dāng)前時(shí)間作為隨機(jī)數(shù)的初始種子,三、隨機(jī)函數(shù)random和rand,9,說明:srand函數(shù),可以產(chǎn)生不同的隨機(jī)數(shù),此函數(shù)包含在time.h頭文件中。,#includestdlib.hmain()inti,a10;for(i=0;i10;i+)ai=rand()%11+5;for(i=0;i10;i+)printf(%5d,ai);printf(n);,#includetime.h,srand(time(0);,作業(yè)2:產(chǎn)生50,90上的隨機(jī)整數(shù),求能被5整除的數(shù)的和。作業(yè)3:將10個(gè)數(shù)中所有的偶數(shù)除以2,奇數(shù)乘以2.,10,例5-3、4求10個(gè)學(xué)生成績的最高分、最低分和平均分。,#includestdio.hmain()inti,a10,min,max;floataverage,s;for(i=0;imax)max=ai;s+=ai;average=s/10;printf(max=%d,min=%d,ave=%7.2f,max,min,average);,5.1.4一維數(shù)組的簡單應(yīng)用,作業(yè)5:30個(gè)元素,賦予從2開始的偶數(shù),每5個(gè)求一個(gè)平均值放到另一數(shù)組。,例5-5求10個(gè)數(shù)的最小的值,并將該最小值與最前面的元素互換(最小值唯一)。,方法1:數(shù)組元素變化較大無法知道最小值原來的位置方法2:,2,10,-1,2,-1,-13,0,3,5,7,-13,10,順序法,選擇法,12,#includemain()inti,j,t,a10,k;for(i=0;i=9;i+)scanf(%d,13,#includemain()inti,j,t,a10,k;for(i=0;i=9;i+)scanf(%d,作業(yè)4:求20個(gè)數(shù)中的最大值和次最大值。,14,例5-6產(chǎn)生10個(gè)40,100內(nèi)的隨機(jī)數(shù),并按由小到大的順序排序后輸出。,3,45,2,-6,-17,66,50,2,3,-6,2,-17,-6,for(j=1;j10;j+)if(aja0)t=a0;a0=aj;aj=t;for(j=2;j10;j+)if(aja1)t=a1;a1=aj;aj=t;,for(i=0;i9;i+)for(j=i+1;j10;j+)if(ajai)t=ai;ai=aj;aj=t;,執(zhí)行9次,15,#defineN10#includestdlib.h#includestdio.hmain()inti,j,t,aN,k;for(i=0;iN;i+)ai=rand()%61+40;printf(%5d,ai);for(i=0;iN-1;i+)for(j=i+1;jN;j+)if(ajai)t=ai;ai=aj;aj=t;for(i=0;iN;i+)printf(%5d,ai);,順序排序,16,例5-6產(chǎn)生10個(gè)40,100內(nèi)的隨機(jī)數(shù),并用選擇排序法按由小到大的順序排序后輸出。,3,45,2,-6,-17,66,50,k=0,k=2,k=3,k=4,-17,3,17,k=0;for(j=1;j10;j+)if(ajak)k=j;if(k!=0)t=a0;a0=ak;ak=t;k=1;for(j=2;j10;j+)if(ajak)k=j;if(k!=1)t=a1;a1=ak;ak=t;,for(i=0;i9;i+)k=i;for(j=i+1;j10;j+)if(ajak)k=j;if(k!=i)t=ai;ai=ak;ak=t;,執(zhí)行9次,18,#defineN10#includestdlib.hmain()inti,j,t,aN,k;for(i=0;iN;i+)ai=rand()%61+40;printf(%5d,ai);for(i=0;iN-1;i+)k=i;for(j=i+1;jN;j+)if(ajak)k=j;if(k!=i)t=ai;ai=ak;ak=t;for(i=0;iN;i+)printf(%5d,ai);,選擇排序,19,例:5-10用二分查找法找一個(gè)數(shù)是否在一個(gè)有序的數(shù)組中。,#includestdio.hmain()intn=8,key,m,left,right;inta=1,3,5,7,9,15,19,24;printf(輸入待查數(shù)據(jù):n);scanf(%d,作業(yè)7:教材975-6,20,3,45,2,-6,-17,66,50,50,66,-17,-6,2,45,3,for(i=0;i=(n-1)/2;i+)t=ai;ai=an-1-i;an-1-i=t;,例5-8將一維數(shù)組中的n(n=50)個(gè)數(shù)按逆序存放。,21,#includestdio.hmain()inta50,t,n,i;scanf(%d,22,補(bǔ)充1:已知數(shù)組a中有8個(gè)互不相等的元素,數(shù)組b中有5個(gè)互不相等的元素,而數(shù)組c中包含那些在a中但不在b中的元素,編程產(chǎn)生數(shù)組c。(產(chǎn)生新數(shù)組),12,-1,3,2,77,31,-6,2,-14,77,-1,76,a,12,3,31,-6,c,b,0,0,23,#includestdio.hmain()inti,j,k=0,a8,b5,c8;for(i=0;i=5)ck=ai;k+;for(i=0;ik;i+)printf(%5d,ci);,作業(yè)6:數(shù)組為20個(gè)整數(shù),求其中的素?cái)?shù)。,24,補(bǔ)充2:打印以下方陣:128310283101831012310128101283,1,2,8,3,10,1,2,8,3,10,1,2,8,3,10,1,2,8,3,10,1,2,8,3,10,1,2,8,3,for(j=1;j5;j+)xj-1=xj;,y=x0;,x4=y;,25,main()inti,j,y;intx5=1,2,8,3,10;for(i=0;i=4;i+)for(j=0;j=4;j+)printf(%5d,xj);printf(n);y=x0;for(j=1;j=4;j+)xj-1=xj;x4=y;,for(j=0;j4;j+)xj=xj+1;,1、作業(yè)8:實(shí)驗(yàn)指導(dǎo)45:62、如何實(shí)現(xiàn):數(shù)組逆序?,26,第9周實(shí)驗(yàn),作業(yè)1:數(shù)組為20個(gè)整數(shù),求其中的素?cái)?shù)。作業(yè)2:教材975-6作業(yè)3:實(shí)驗(yàn)指導(dǎo)45:6作業(yè)4:產(chǎn)生10個(gè)20.80的隨機(jī)數(shù),并進(jìn)行排序。作業(yè)5:打印等邊楊輝三角(教材P975-9)。作業(yè)6:教材P975-10作業(yè)7:教材P975-5作業(yè)8:實(shí)驗(yàn)指導(dǎo)P56:三(1),27,5.2二維數(shù)組一、二維數(shù)組的定義和引用1、定義類型標(biāo)識(shí)符數(shù)組名第1維的長度第2維的長度可以把二維數(shù)組看作是一種特殊的一維數(shù)組a0a00a01a02a1a10a11a12二維數(shù)組在內(nèi)存中按行存放,a00a02a11a01a10a12,2、引用數(shù)組名下標(biāo)下標(biāo),28,二、二維數(shù)組的初始化inta34=1,2,3,4,5,6,7,8,9,10,11,12;inta34=1,2,3,4,5,6,7,8,9,10,11,12;inta34=1,5,9;inta33=1,0,3,4,0,0,0,8,0;inta3=1,0,3,4,0,0,0,8,0;inta3=1,0,3,4,0,8,29,三、二維數(shù)組的輸出,#includestdio.hmain()inta33,i,j,t,k=1;for(i=0;i3;i+)for(j=0;j3;j+)aij=k+;printf(原矩陣為:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%4d,aij);printf(n);for(i=0;i3;i+)for(j=0;ji;j+)t=aij;aij=aji;aji=t;printf(轉(zhuǎn)置后的矩陣為:n);,for(i=0;i3;i+)for(j=0;j3;j+)printf(%4d,aij);printf(n);,原矩陣為:123456789轉(zhuǎn)置后的矩陣為:147258369,例5-12將一個(gè)3行3列的矩陣轉(zhuǎn)置后輸出。,30,例5-13輸出如下圖所示的楊輝三角形。,main()inta77,i,j;for(i=0;i7;i+)ai0=1;aii=1;for(i=2;i7;i+)for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;i7;i+)for(j=0;j=i;j+)printf(%4d,aij);printf(n);,111121133114641151010511615201561,作業(yè)5:打印等邊楊輝三角(教材P975-9)。,四、二維數(shù)組的常用算法,31,1000001310001433101443331444331214431222141222221,補(bǔ)充3:打印如下方陣(7*7),主對(duì)角線:i=j,副對(duì)角線:i+j=6,ijinti,j;floats,ave;for(i=0;iN;i+)s=0;for(j=0;jM;j+)s+=aij;ave=s/M;printf(第%d行的平均值為%.2fn,i,ave);,第0行的平均值為77.67第1行的平均值為84.67第2行的平均值為73.67第3行的平均值為90.33第4行的平均值為62.67,34,例5-15求一個(gè)5行3列的二維數(shù)組各列的最大值。,#includestdio.h#defineN5#defineM3main()intaNM=88,76,69,85,78,91,84,76,61,90,86,95,67,51,70;inti,j,lmax;for(j=0;jM;j+)lmax=a0j;for(i=1;iN;i+)if(lmaxaij)lmax=aij;printf(第%d列的最大值是%dn,j,lmax);,第0列的最大值是90第1列的最大值是86第2列的最大值是95,求N*M數(shù)組的最大值及其行標(biāo)、列標(biāo)。求5*5二維數(shù)組每行最大值和每行的和。,35,第10周實(shí)驗(yàn),作業(yè)1:從鍵盤輸入十個(gè)學(xué)生的成績,統(tǒng)計(jì)最高分,最低分和平均分,以及得最高分的人數(shù)。作業(yè)2:輸出斐波那契(Fibonacci)數(shù)列(1,1,2,3,5,8,13)的前20項(xiàng)作業(yè)3:將具有10個(gè)元素的一維數(shù)組最小值放到最前面,最大值放到最后面。作業(yè)4:求20個(gè)數(shù)的一維數(shù)組中的素?cái)?shù),并將素?cái)?shù)排序作業(yè)5:求一個(gè)二維數(shù)組(5*5)中每行的最大值和每行的和作業(yè)6:求出NM整型數(shù)組的最大元素及其所在的行坐標(biāo)及列坐標(biāo)。作業(yè)7:實(shí)驗(yàn)指導(dǎo)P57:3,36,5.3字符型數(shù)據(jù),普通字符用一對(duì)單撇號(hào)括起來的一個(gè)字符。axd?(2)轉(zhuǎn)義字符將反斜杠后面的字符轉(zhuǎn)變成另外的意義。(P81表5.1)n12x35,1、字符型常量,一、字符型數(shù)據(jù)常量,37,2、字符串常量,用一對(duì)雙撇號(hào)括起來的字符序列。如:CHINA、a、howareyou.、。字符串常量在內(nèi)存中的存放:每一個(gè)字符均以其ASCII碼存放,且在字符串的最后自動(dòng)添加一個(gè)0(空字符,二進(jìn)制00000000)作為字符串結(jié)束標(biāo)志。,請(qǐng)區(qū)別:a和a,38,1、字符型變量,只能放一個(gè)字符,占一個(gè)字節(jié),存放該字符的ASCII碼值。定義charc1,c2;賦值c1=a;c2=b;,c=a;c=97;二者等價(jià),整型與字符型變量可以通用,通用范圍:0127,C的值相等但是在內(nèi)存中的存放形式不一樣,二、字符型數(shù)據(jù)變量,39,2、字符串變量,charc10;chard23;,初始化charc10=I,a,m,h,a,p,p,y;,對(duì)字符數(shù)組初始化,可以用字符串常量來使字符數(shù)組初始化。如:charc=Iamhappy;charc=Iamhappy;charc11=Iamhappy;,charc32=a,b,c,d,e,f;,40,三、字符型數(shù)據(jù)輸入輸出,1、字符型數(shù)據(jù):(1)printf、scanf函數(shù):%c格式(2)putchar、getchar函數(shù)例5-16從鍵盤上輸入一個(gè)字符,然后輸出到終端顯示器上。,#includestdio.hmain()charc;c=getchar();putchar(c);,41,2、字符數(shù)組的輸入輸出,(1)printf、scanf:%c格式,逐個(gè)輸入/輸出。(2)printf、scanf:%s格式,一次輸入/輸出。,#includemain()charc10;inti;for(i=0;i10;i+)scanf(%c,ci=getchar();,putchar(ci);,#includemain()charc10;scanf(%s,c);printf(%s,c);,42,china,說明1:用%s格式輸出字符時(shí),輸出遇0時(shí)結(jié)束,printf函數(shù)中的輸出項(xiàng)是字符數(shù)組名,而不是數(shù)組元素。,例:charc11=china;printf(%s,c);,說明2:在使用scanf函數(shù)時(shí),若用%s格式輸入字符串,則后面跟數(shù)組名,且不帶Iamhappy,注:用scanf函數(shù)(格式字符%s)無法輸入空格。,43,(3)gets、puts:一次輸入/輸出整個(gè)字符串。,例:#includemain()chara10;gets(a);pu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024財(cái)產(chǎn)保險(xiǎn)合同保險(xiǎn)標(biāo)的詳細(xì)規(guī)定
- 2024年版建筑工地專業(yè)瓦工施工分包合同一
- 2024門店咖啡館門店承包經(jīng)營合同3篇
- 行政單位財(cái)務(wù)自查整改報(bào)告范文(7篇)
- 節(jié)能環(huán)保標(biāo)語
- 2024智能客服機(jī)器人研發(fā)與租賃服務(wù)合同
- 2024汽車銷售租賃合同
- 二零二五年度石油化工產(chǎn)品國際貿(mào)易實(shí)務(wù)買賣合同標(biāo)的運(yùn)輸與儲(chǔ)存3篇
- 幼兒園教師外出跟崗培訓(xùn)交流匯報(bào)
- 2024配音工作室與廣告公司配音項(xiàng)目合作協(xié)議
- 血液透析室護(hù)士長年終總結(jié)報(bào)告
- 露天礦山邊坡穩(wěn)定性分析與防治措施
- 《眼附屬器的解剖》課件
- 功能材料課件-形狀記憶合金
- 山地光伏安全文明施工方案
- 中醫(yī)醫(yī)院運(yùn)營方案
- 公務(wù)員報(bào)考指南
- 烏頭堿中毒急診科培訓(xùn)課件-
- 貴州茅臺(tái)2023審計(jì)報(bào)告
- 高速鐵路沉降觀測與評(píng)估
- 家長要求學(xué)校換老師的申請(qǐng)書
評(píng)論
0/150
提交評(píng)論