例1:將一個二維數組行和列元素互換,存到另一個二維數組中。
程序示例:
#include<stdio.h> #include "StdAfx.h" int main() { int i, j, a[2][3] = { {1,2,3},{4,5,6} },b[3][2]; printf("array a:\n"); for (i = 0; i <=1; i++)//處理a數組中的一行中各元素 { for (j = 0; j <= 2; j++)//處理a數組中的某一列元素 { printf("%5d", a[i][j]); b[j][i] = a[i][j]; } printf("\n"); } printf("array b:\n"); for (i = 0; i<=2; i++) { for (j = 0; j <=1; j++) { printf("%5d", b[i][j]); } printf("\n"); } return 0; }
例2:有一個3*4的矩陣,要求編程求出其中值最大的那個元素的值,以及其所在的行號和列號。
程序示例:
#include <stdafx.h> #include<stdio.h> void main() { int a[3][4]={{1,2,3,4},{5,6,7,8},{10,11,12,9}},max,i,j,b,c; max=a[0][0]; for(i=0;i<=2;i++) { for(j=0;j<=3;j++) { if(a[i][j]>=max) { max=a[i][j]; b=i; c=j; } else { continue; } } } printf("%d\n",max); printf("%3d%3d",b,c); }
例3:從鍵盤上輸入9個整數,(對照九宮格的形式,輸入三行,每行輸入三個數)保存在二維數組中,按數組原來位置輸出第一行和第一列的所有元素。
程序示例:
#include <stdafx.h> #include<stdio.h> void main() { int a[3][3],i,j; printf("input nine numbers:"); for(i=0;i<=2;i++) { printf("\n"); for(j=0;j<=2;j++) { scanf("%d",&a[i][j]); } } for(i=0;i<=2;i++) { for(j=0;j<=2;j++) { if(i==1&&0==j) { printf("\n"); } if(2==i&&0==j) { printf("\n"); } if(1==i||1==j) { printf("%-6d",a[i][j]); } else { printf("%6c",' '); } } } }