lesson數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序_第1頁
lesson數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序_第2頁
lesson數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序_第3頁
lesson數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序_第4頁
lesson數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2023/1/17Lesson10數(shù)據(jù)的組織結(jié)構(gòu)2023/1/17學(xué)習(xí)目標(biāo):31掌握二維數(shù)組的使用2023/1/173二維數(shù)組3數(shù)學(xué)概念矩陣:8070999783926591858876例:2023/1/173二維數(shù)組3日常生活例子表格:123456789101112131415162023/1/173二維數(shù)組3特點(diǎn):按行、列分布,并且每個(gè)數(shù)據(jù)需要由兩個(gè)位置確定:一個(gè)行位置,一個(gè)列位置C語言中實(shí)現(xiàn)方法:二維數(shù)組2023/1/173二維數(shù)組3在C語言中如何實(shí)現(xiàn)?類型數(shù)組名[行長(zhǎng)度][列長(zhǎng)度]intarray[3][4]例:floatd[3][5];inta[6][6];chars[4][10];所有元素都是int數(shù)組名3行4列注意:必須是常量array2023/1/173二維數(shù)組3二維數(shù)組的引用1234567891011127第1行第2列數(shù)組aa[1][2]數(shù)組名[行下標(biāo)][列下標(biāo)]

2023/1/173二維數(shù)組3二維數(shù)組初始化:在定義二維數(shù)組時(shí),給元素賦初值形式1:inta[2][3]={1,2,3,4,5,6};形式2:inta[2][3]={{1,2,3},{4,5,6}};形式3:inta[][3]={1,2,3,4,5,6};形式4:inta[2][]={1,2,3,4,5,6};×錯(cuò)誤!2023/1/173二維數(shù)組操作4二維數(shù)組元素的引用及基本操作數(shù)組的賦值

for(i=0;i<ROWS;i++)for(j=0;j<COLS;j++)value[i][j]=i+j;數(shù)組的輸入

for(i=0;i<ROWS;i++)for(j=0;j<COLS;j++)scanf(“%d”,&value[i][j]);#defineROWS4#defineCOLS5intvalue[ROWS][COLS];2023/1/173二維數(shù)組操作4二維數(shù)組元素的引用及基本操作3.數(shù)組的輸出

for(i=0;i<ROWS;i++){for(j=0;j<COLS;j++)printf(“%4d”,value[i][j]);putchar(‘\n’);}#defineROWS4#defineCOLS5intvalue[ROWS][COLS];2023/1/43二維數(shù)組操作4例題:從鍵鍵盤輸入如如下的矩陣陣124534575798然后輸出該該矩陣2023/1/4lessson11_01.c#include<stdio.h>intmain(){inta[3][4],i,j;for(i=0;i<3;i++){for(j=0;j<4;j++){}}scanf("%d",&a[i][j]);for(i=0;i<3;i++){for(j=0;j<4;j++){}}printf("%4d",a[i][j]);printf("\n");return0;}2023/1/43二維數(shù)組應(yīng)用5例6:判斷給給定方陣是是否為對(duì)稱稱矩陣。1102188210413992521136143688991471232253612332023/1/43二維數(shù)組應(yīng)用5問題分析析對(duì)于一個(gè)個(gè)給定的的NN矩陣array,如果矩矩陣中的的每個(gè)元元素都滿滿足array[i][j]=array[j][i],則稱這這個(gè)矩陣陣為對(duì)稱稱矩陣。。在判斷一一個(gè)給定定的矩陣陣是否為為對(duì)稱矩矩陣時(shí),,只需要要用下三三角部分分的每個(gè)個(gè)元素與與對(duì)應(yīng)的的上三角角元素進(jìn)進(jìn)行比較較。如果果每一對(duì)對(duì)元素都都相等,,這個(gè)矩矩陣就是是對(duì)稱矩矩陣,否否則,就就是非對(duì)對(duì)稱矩陣陣。2023/1/4算法描述述2023/1/4#include<stdio.h>#defineNUM5矩陣行列列數(shù)intmain(){intm[NUM][NUM];/*定義二維維數(shù)組變變量*/inti,j;/*輸入矩陣陣*/printf("\Enter%drows%dcolsdatasforthemaxtrix:\n",NUM,NUM);for(i=0;i<NUM;i++)for(j=0;j<NUM;j++)scanf("%d",&m[i][j]);/*顯示矩陣陣*/for(i=0;i<NUM;i++){for(j=0;j<NUM;j++)printf("%4d",m[i][j]);printf("\n");}lesson11_06_1.c2023/1/4/*判斷矩陣是否否對(duì)稱并輸出出相應(yīng)的結(jié)果果*/for(i=0;i<NUM;i++)for(j=0;j<i;j++)if(m[i][j]!=m[j][i]){printf("\nThematrixisn'tsymmetrical.");return0;}printf("\nThematrixissymmetrical.");return0;}2023/1/43二維數(shù)組應(yīng)用5改進(jìn):從文件讀入入數(shù)組使用標(biāo)志變變量判斷2023/1/4#include<stdio.h>#defineNUM5矩陣陣行行列列數(shù)數(shù)intmain(){intm[NUM][NUM];/*定義義二二維維數(shù)數(shù)組組變變量量*/inti,j;FILE*fp;/*輸入入矩矩陣陣*/fp=fopen("m.txt","r");for(i=0;i<NUM;i++)for(j=0;j<NUM;j++)fscanf(fp,"%d",&m[i][j]);/*顯示矩陣陣*/for(i=0;i<NUM;i++){for(j=0;j<NUM;j++)printf("%4d",m[i][j]);printf("\n");}lesson11_06_2.c2023/1/4/*判斷矩陣陣是否對(duì)對(duì)稱并輸輸出相應(yīng)應(yīng)的結(jié)果果*/for(i=0;i<NUM;i++)for(j=0;j<i;j++)if(m[i][j]!=m[j][i]){flag=0;break;}if(flag==1)printf("\n對(duì)稱");elseprintf("\n不對(duì)稱");return0;}2023/1/43二維數(shù)組應(yīng)用5例7:輸入3個(gè)同學(xué)、4門課程的成績(jī)績(jī),并按照如如下格式輸出出(成績(jī)保存在score.txt文件中)80709997839265918588762023/1/4#include<stdio.h>#defineSTUS3#defineLSN4intmain(){intm[STUS][LSN];/*定義二維數(shù)組組變量*/inti,j;FILE*fp;fp=fopen("score.txt","r");for(i=0;i<STUS;i++)for(j=0;j<LSN;j++)fscanf(fp,"%d",&m[i][j]);/*顯示矩陣*/for(i=0;i<STUS;i++){for(j=0;j<LSN;j++)printf("%4d",m[i][j]);printf("\n");}lesson11_07.c2023/1/43二維數(shù)組應(yīng)用5從鍵鍵盤盤輸輸入入一一個(gè)個(gè)矩矩陣陣,,將將該該矩矩陣陣轉(zhuǎn)轉(zhuǎn)置置后后輸輸出出2023/1/4分析析::定義義一一個(gè)個(gè)2行4列的的二二維維數(shù)數(shù)組組a,用用于于存存放放原原始始的的矩矩陣陣定義義一一個(gè)個(gè)4行2列的的二二維維數(shù)數(shù)組組b,用用于于存存放放轉(zhuǎn)轉(zhuǎn)置置后后的的矩矩陣陣循環(huán)環(huán)數(shù)數(shù)組組a的所所有有元元素素,,將將a中的的每每一一個(gè)個(gè)元元素素存存放放至至b的對(duì)對(duì)應(yīng)應(yīng)位位置置::行行列列位位置置正正好好相相反反輸出出二二維維數(shù)數(shù)組組b2023/1/43課堂練習(xí)6輸出如如下圖圖形161116212712172238131823491419245101520252023/1/43排序7例:假設(shè)設(shè)用戶通通過鍵盤盤輸入一一個(gè)整型型數(shù)列。。請(qǐng)編寫寫一個(gè)程程序,將將其按照照從小到到大的順順序重新新排列。。

即在在從鍵盤盤輸入如如下的數(shù)數(shù)據(jù)2681954輸出12456892023/1/43排序7問題分析析首先從n個(gè)數(shù)據(jù)中中選擇一一個(gè)最小小的數(shù)據(jù)據(jù),并將將它交換換到第1個(gè)位置;;然后再再從后面面n-1個(gè)數(shù)據(jù)中中選擇一一個(gè)最小小的數(shù)據(jù)據(jù),并將將它交換換到第2個(gè)位置;;以此類類推,直直至最后后從兩個(gè)個(gè)數(shù)據(jù)中中選擇一一個(gè)最小小的數(shù)據(jù)據(jù),并將將它交換換到第n-1個(gè)位置為為止,整整個(gè)排序序操作結(jié)結(jié)束。2023/1/4算法描述2023/1/4#include<stdio.h>#defineNUM10/*參與排排序的的數(shù)據(jù)據(jù)個(gè)數(shù)數(shù)*/intmain(){intdata[NUM];/*存放參參與排排序的的所有有整數(shù)數(shù)*/inti,j,minIndex,temp;/*通過過鍵鍵盤盤輸輸入入待待排排序序的的整整型型數(shù)數(shù)列列*/printf("\nEnter%dintegers.",NUM);for(i=0;i<NUM;i++){scanf("%d",&data[i]);}/*顯示示原原始始整整型型數(shù)數(shù)列列*/printf("\n%dintegersare:",NUM);for(i=0;i<NUM;i++){printf("%5d",data[i]);}lesson10_01.c2023/1/4for(i=0;i<NUM-1;i++){minIndex=i;for(j=i+1;j<NUM;j++){if(data[j]<data[minIndex]){/*交換換*temp=data[j];data[j]=data[minIndex];data[minIndex]=temp;}}/*輸出出排排序序后后的的結(jié)結(jié)果果*/printf("\nOrderinglistis:\n");for(i=0;i<NUM;i++){printf("%5d",data[i]);}return0;}2023/1/43課后練習(xí)8編程程實(shí)實(shí)現(xiàn)現(xiàn)從從鍵鍵盤盤任任意意輸輸入入20個(gè)整整數(shù)數(shù),,統(tǒng)統(tǒng)計(jì)計(jì)非非負(fù)負(fù)數(shù)數(shù)個(gè)個(gè)數(shù)數(shù),,并并計(jì)計(jì)算算非非負(fù)負(fù)數(shù)數(shù)之之和和。。輸入入5××5階的的矩矩陣陣,,編編程程實(shí)實(shí)現(xiàn)現(xiàn)::(1)求求兩兩條條對(duì)對(duì)角角線線上上的的各各元元素素之之和和。。(2)求求兩兩條條對(duì)對(duì)角角線線上上行行、、列列下下標(biāo)標(biāo)均均為為偶偶數(shù)數(shù)的的各各元元素素之之積積。。9、靜夜四四無鄰,,荒居舊舊業(yè)貧。。。1月-231月-23Wednesday,January4,202310、雨中中黃葉葉樹,,燈下下白頭頭人。。。21:03:4021:03:4021:031/4/20239:03:40PM11、以以我我獨(dú)獨(dú)沈沈久久,,愧愧君君相相見見頻頻。。。。1月月-2321:03:4021:03Jan-2304-Jan-2312、故人江海別別,幾度隔山山川。。21:03:4021:03:4021:03Wednesday,January4,202313、乍見翻翻疑夢(mèng),,相悲各各問年。。。1月-231月-2321:03:4021:03:40January4,202314、他鄉(xiāng)生白白發(fā),舊國國見青山。。。04一月月20239:03:40下下午21:03:401月-2315、比不了了得就不不比,得得不到的的就不要要。。。。一月239:03下午午1月-2321:03January4,202316、行行動(dòng)動(dòng)出出成成果果,,工工作作出出財(cái)財(cái)富富。。。。2023/1/421:03:4021:03:4004January202317、做前,能夠夠環(huán)視四周;;做時(shí),你只只能或者最好好沿著以腳為為起點(diǎn)的射線線向前。。9:03:40下午9:03下下午21:03:401月-239、沒有有失敗敗,只只有暫暫時(shí)停停止成成功??!。1月-231月-23Wednesday,January4,202310、很多事事情努力力了未必必有結(jié)果果,但是是不努力力卻什么么改變也也沒有。。。21:03:4021:03:4021:031/4/20239:03:40PM11、成功就是是日復(fù)一日日那一點(diǎn)點(diǎn)點(diǎn)小小努力力的積累。。。1月-2321:03:4021:03Jan-2304-Jan-2312、世世間間成成事事,,不不求求其其絕絕對(duì)對(duì)圓圓滿滿,,留留一一份份不不足足,,可可得得無無限限完完美美。。。。21:03:4021:03:4021:03Wednesday,January4,202313、不知香香積寺,,數(shù)里入入云峰。。。1月-231月-2321:03:4021:03:40January4,202314、意志堅(jiān)強(qiáng)的的人能把世界界放在手中像像泥塊一樣任任意揉捏。04一月20239:03:40下午21:03:401月-2315、楚塞三三湘接,,荊門九九派通。。。。一月239:03下午午1月-2321:03January4,202316、少年十五二二十時(shí),步行行奪得胡馬騎騎。。2023/1/421:03:4121:03:4104January202317、空山山新雨雨后,,天氣氣晚來來秋。。。9:03:41下下午9:03下下午午21:03:411月-239、楊柳散和和風(fēng),青山山澹吾慮。。。1月-231月-23Wednesday,January4,202310、閱讀一切好好書如同和過過去最杰出的的人談話。21:03:4121:03:4121:031/4/20239:03:41PM11、越是是沒有有本領(lǐng)領(lǐng)的就就越加加自命命不凡凡。1月-232

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論