二维数组举例2(初学者)
例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",' '); } } } }