1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define ROW 3 5 #define COL 3 6 //#define P 2 7 8 void input(int array[ROW][COL]); 9 void output(int array[ROW][COL]); 10 11 void trans(int arr1[ROW][COL], int arr2[ROW][COL]); 12 13 void max_min(int arrar[ROW][COL],int *max, int *min); 14 15 int max(int array[ROW][COL]); 16 17 18 int main() 19 { 20 int arr1[ROW][COL]; 21 int arr2[ROW][COL]; 22 input(arr1); 23 output(arr1); 24 25 trans(arr1,arr2); 26 output(arr2); 27 28 system("pause"); 29 return 0; 30 } 31 //输入矩阵 32 void input(int array[ROW][COL]) 33 { 34 int i;//行的下标 35 int j;//列的下标 36 printf("Input %d*%d numbers: ",ROW,COL); 37 38 for(i = 0; i < ROW; i++) 39 { 40 for(j = 0; j < COL; j++) 41 scanf_s("%d",&array[i][j]); 42 } 43 } 44 45 //输出矩阵 46 void output(int array[ROW][COL]) 47 { 48 int i;//行的下标 49 int j;//列的下标 50 printf("Output %d*%d numbers: ",ROW,COL); 51 52 for(i = 0; i < ROW; i++) 53 { 54 for(j = 0; j < COL; j++) 55 printf("%d",array[i][j]); 56 printf(" "); 57 } 58 } 59 60 //求矩阵的转置 61 void trans(int arr1[ROW][COL], int arr2[ROW][COL]) 62 { 63 int i;//行的下标 64 int j;//列的下标 65 66 for(i = 0; i < ROW; i++) 67 { 68 for(j = 0; j < COL; j++) 69 arr2[i][j] = arr1[j][i]; 70 } 71 } 72 73 //求矩阵的最大值 74 int max(int array[ROW][COL]) 75 { 76 int i; 77 int j; 78 int max_value = array[0][0]; 79 80 for(i = 0; i < ROW; i++) 81 { 82 for(j = 0; j < COL; j++) 83 { 84 if(array[i][j] > max_value) 85 max_value = array[i][j]; 86 } 87 } 88 return max_value; 89 }