用二維數(shù)組實(shí)現(xiàn)矩陣轉(zhuǎn)置
本實(shí)例將輸入的 3×4 矩陣轉(zhuǎn)置為 4×3 矩陣,并輸出結(jié)果。通過本實(shí)例,可以學(xué)習(xí)如何使用二
維數(shù)組。
實(shí)例解析
二維數(shù)組的定義
二維數(shù)組定義的一般形式為:
第一部分 基礎(chǔ)篇 X2277
類型說(shuō)明符 數(shù)組名[常量表達(dá)式][常量表達(dá)式]
例如:
int a[3][4],b[7][8];
定義 a 為 3×4(3 行 4 列)的數(shù)組,b 為 7×8(7 行 8 列)的數(shù)組。
二維數(shù)組的引用
二維數(shù)組的元素也稱為雙下標(biāo)變量,二維數(shù)組的元素的表示形式為:
數(shù)組名[下標(biāo)][下標(biāo)]
例如 a[3][4],下標(biāo)可以是整型常量或是整型表達(dá)式,如 a[22-1][3+1]。特別強(qiáng)調(diào)不要寫成:
a[3,4]或者 a[22-1,3+1]的形式。
數(shù)組元素可以出現(xiàn)在表達(dá)式中,也可以被賦值,例如:
b[1][2]=a[2][3]/3;
在使用數(shù)組元素時(shí),應(yīng)該注意下標(biāo)值應(yīng)在已定義的數(shù)組大小范圍內(nèi)。定義 a 為 3×4 的數(shù)組,
它可用的行下標(biāo)值最大為 2,列坐標(biāo)值最大為 3。用 a[3][4]則超過了數(shù)組的定義范圍。
下標(biāo)變量和數(shù)組說(shuō)明在形式中有些相似,但兩者具有完全不同的含義。數(shù)組說(shuō)明的方括號(hào)中
給出的是某一維的長(zhǎng)度,即可取下標(biāo)的最大值;而數(shù)組元素中的下標(biāo)是該元素在數(shù)組中的位置標(biāo)
識(shí)。前者只能是常量,后者可以是常量、變量或表達(dá)式。
二維數(shù)組的初始化
可以用下面的方法對(duì)二維數(shù)組初始化。
(1)分行給二維數(shù)組賦初值。例如:
static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
這種賦初值方法比較直觀,把第一個(gè)大括弧內(nèi)的數(shù)據(jù)賦給第一行的元素,第二個(gè)大括弧內(nèi)的
數(shù)據(jù)賦給第二行的元素……。
(2)可以將所有數(shù)據(jù)寫在一個(gè)大括弧中,按數(shù)組排列的順序?qū)Ω髟刭x初值。例如:
static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
效果與前種方法相同。但第一種方法比較好,一行對(duì)一行。用第二種方法,如果數(shù)據(jù)多,寫
出來(lái)一大片,就比較容易遺漏,有錯(cuò)誤也不容易檢查出來(lái)。
(3)可以對(duì)部分元素賦初值,例如:
static int a[3][4]={{1},{3},{5}};文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-480367.html
程序代碼
/* 用二維數(shù)組實(shí)現(xiàn)矩陣的轉(zhuǎn)置 */
#include <stdio.h>
#define ROW 3 /* 矩陣的行數(shù) */
#define COL 4 /* 矩陣的列數(shù) */
int main()
{
int matrixA[ROW][COL],matrixB[COL][ROW];/* 矩陣的定義 */
int i,j;
clrscr(); /* 清屏 */
printf("Enter elements of the matrixA,"); /* 提示信息 */
printf("%d*%d:\n",ROW,COL);
for( i=0; i<ROW; i++ )
{
for( j=0; j<COL; j++ )
{
scanf("%d",&matrixA[i][j]); /* 輸入矩陣 A 的值 */
}
}
for( i=0; i<ROW; i++ )
{
for( j=0; j<COL; j++ )
{
matrixB[j][i] = matrixA[i][j]; /* 轉(zhuǎn)置 */
}
}
printf("MatrixB,"); /* 輸出矩陣 B */
printf("%d*%d:\n",COL,ROW);
for( i=0; i<COL; i++ )
{
for( j=0; j<ROW; j++ )
{
printf("%8d",matrixB[i][j]);
}
printf("\n");
}
printf("\n Press Any Key to Quit... \n");
getch();
return 0;
}
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-480367.html
到了這里,關(guān)于C語(yǔ)言例程:用二維數(shù)組實(shí)現(xiàn)矩陣轉(zhuǎn)置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!