(6.22)-第21課(5.4節(jié)-二維數(shù)組使用舉例)_第1頁
(6.22)-第21課(5.4節(jié)-二維數(shù)組使用舉例)_第2頁
(6.22)-第21課(5.4節(jié)-二維數(shù)組使用舉例)_第3頁
(6.22)-第21課(5.4節(jié)-二維數(shù)組使用舉例)_第4頁
(6.22)-第21課(5.4節(jié)-二維數(shù)組使用舉例)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

二維數(shù)組使用舉例數(shù)組【例1:】從鍵盤輸入下表中的數(shù)據(jù)(4行3列)到數(shù)組中,分別求出各行、各列及表中所有數(shù)之和124682331579251722343124373935111解題思路

voidmain(){intx[5][4],i,j;for(i=0;i<4;i++)//輸入數(shù)組x

for(j=0;j<3;j++)scanf("%d",&x[i][j]);for(i=0;i<3;i++)x[4][i]=0;//將存放每列和的單元初始化為0for(j=0;j<5;j++)x[j][3]=0;//將存放每行和的單元初始化為0for(i=0;i<4;i++)for(j=0;j<3;j++){x[i][3]+=x[i][j];//求每行元素的和x[4][j]+=x[i][j];//求每列元素的和x[4][3]+=x[i][j];//求每個(gè)元素的和}for(i=0;i<5;i++){for(j=0;j<4;j++)printf("%5d\t",x[i][j]);printf("\n");}}程序?qū)崿F(xiàn)【例2:】找出3×4矩陣中最大的數(shù),并輸出其行號和列號52093712610418maxrowcol1212算法的N-S流程圖:#include<stdio.h>voidmain(){inti,j,row=0,col=0,max;inta[3][4]={{5,2,0,9},{3,7,12,6},{10,4,1,8}};max=a[0][0];for(i=0;i<3;i++)

for(j=0;j<4;j++)

if(a[i][j]>max){max=a[i][j];

row=i;

col=j;

}printf(“max=%d\n”,max);printf(“max=a[%d][%d]\n”,row,col);}程序?qū)崿F(xiàn)【例3:】將一個(gè)m行n列的矩陣進(jìn)行轉(zhuǎn)置(即原來的行變?yōu)榱?5209371261041852093712610418a[0][1]b[1][0]a[2][1]b[1][2]算法:for(i=0;i<3;i++)for(j=0;j<4;j++)b[j][i]=a[i][j];#include<stdio.h>voidmain(){inta[3][4],b[4][3],i,j;for(i=0;i<3;i++)//輸入數(shù)組afor(j=0;j<4;j++)scanf(“%d”,&a[i][j]);for(i=0;i<3;i++)//完成轉(zhuǎn)置操作for(j=0;j<4;j++)b[j][i]=a[i][j];for(i=0;i<4;i++)//輸出數(shù)組b{for(j=0;j<3;j++)printf(“%5d”,b[i][j]);printf(“\n”);}}程序?qū)崿F(xiàn)【例4:】將一個(gè)N階方陣進(jìn)行轉(zhuǎn)置(即原來的行變?yōu)榱?解題思路假設(shè)a是N*N的二維數(shù)組,則可以不必定義另一數(shù)組。方陣的轉(zhuǎn)置以對角線為基準(zhǔn),對應(yīng)元素(A[i][j]與A[j][i])交換4a[0][1]2a[1][0]轉(zhuǎn)置a[0][1]a[1][0]對角線?

i==j

#defineN3voidmain(){inti,j,t;inta[N][N]={{1,4,7},{2,5,8},{3,6,9}};for(i=0;i<N;i++)//完成轉(zhuǎn)置操作for(j=0;j<i;j++){t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}for(i=0;i<N;i++)//打印輸出轉(zhuǎn)置后的矩陣{for(j=0;j<N;j++)printf("%d",a[i][j]);printf("\n");//換行}}程序?qū)崿F(xiàn)【例5:】求一個(gè)4*4矩陣的主對角線元素之積解題思路用二維數(shù)組a表示N*N方陣時(shí),對應(yīng)關(guān)系:a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]a[3][0]a[3][1]a[3][2]a[3][3]

對于元素a[i][j]:當(dāng)i==j時(shí),其位于主對角線上;當(dāng)i+j==N-1時(shí),其位于副對角線上;當(dāng)i>=j時(shí),其位于左下三角區(qū)域;當(dāng)i<=j時(shí),其位于右上三角區(qū)域【例5:】求一個(gè)4*4矩陣的主對角線元素之積解題思路用二維數(shù)組a表示N*N方陣時(shí),對應(yīng)關(guān)系:a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]a[3][0]a[3][1]a[3][2]a[3][3]對于元素a[i][j]:當(dāng)i==j時(shí),其位于主對角線上;當(dāng)i+j==N-1時(shí),其位于副對角線上;當(dāng)i>=j時(shí),其位于左下三角區(qū)域;當(dāng)i<=j時(shí),其位于右上三角區(qū)域【例5:】求一個(gè)4*4矩陣的主對角線元素之積解題思路用二維數(shù)組a表示N*N方陣時(shí),對應(yīng)關(guān)系:a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]a[3][0]a[3][1]a[3][2]a[3][3]對于元素a[i][j]:當(dāng)i==j時(shí),其位于主對角線上;當(dāng)i+j==N-1時(shí),其位于副對角線上;當(dāng)i>=j時(shí),其位于左下三角區(qū)域;當(dāng)i<=j時(shí),其位于右上三角區(qū)域【例5:】求一個(gè)4*4矩陣的主對角線元素之積解題思路用二維數(shù)組a表示N*N方陣時(shí),對應(yīng)關(guān)系:a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]a[3][0]a[3][1]a[3][2]a[3][3]對于元素a[i][j]:當(dāng)i==j時(shí),其位于主對角線上;當(dāng)i+j==N-1時(shí),其位于副對角線上;當(dāng)i>=j時(shí),其位于左下三角區(qū)域;當(dāng)i<=j時(shí),其位于右上三角區(qū)域#include<stdio.h>voidmain(){inta[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};inti,j,s=1;for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j)//計(jì)算主對角線上元素的乘積s=s*a[i][j];printf("s=%d",s);}程序?qū)崿F(xiàn)【例6:】編程打印楊輝三角的前十行解題思路定義一個(gè)二維數(shù)組a[10][10]只需打印方陣左下三角形區(qū)域的元素第0列和主對角線上的元素值是1其他元素是它的上一行的兩個(gè)相鄰元素的和#include<stdio.h>voidmain(){inta[10][10],i,j;for(i=0;i<10;i++)for(j=0;j<=i;j++)

//只需確定左下三角形區(qū)域的元素值if(j==0||i==j)//確定第0列和主對角線上的元素值a[i][j]=1;else

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論