- #include <stdio.h>
- /**
- * 初始化数组
- *
- * @param row 行数
- * @param col 列数
- * @param array 数组名
- */
- void getArray(int row,int col,int array[row][col]){
-
- for (int i = 0; i < row; i++) {
- for (int j = 0; j < col; j++) {
- printf("请输入第%d行,第%d列的数",i+1,j+1);
- scanf("%d",&array[i][j]);
- }
-
- }
- }
- /**
- * 打印数组
- *
- * @param row 函数
- * @param col 列数
- * @param array 数组名
- */
- void printArray(int row,int col,int array[row][col]){
-
- for (int i = 0; i<row; i++) {
- for (int j = 0; j<col; j++) {
- printf("%d\t\t",array[i][j]);
- }
- printf("\n");
- }
-
- }
- /**
- * 每一行从大到小排列
- *
- * @param row 行数
- * @param col 列数
- * @param arr 数组名
- */
- void rowOrder(int row,int col,int arr[row][col]){
- for (int k = 0; k < row; k++) {
- for (int i = 0; i < col-1; i++) {
- for (int j = 0; j < col-i-1; j++) {
- if (arr[k][j] < arr[k][j+1]) {
- int temp= arr[k][j];
- arr[k][j] = arr[k][j+1];
- arr[k][j+1] = temp;
- }
- }
- }
- }
- printf("行排序:\n");
- printArray(row, col, arr);
- }
- /**
- * 每一列从大到小排序
- *
- * @param row 行数
- * @param col 列数
- * @param arr 数组名
- */
- void colOrder(int row,int col,int arr[row][col]){
- for (int k = 0; k < row; k++) {
- for (int i = 0; i < col-1; i++) {
- for (int j = 0; j < col-i-1; j++) {
- if (arr[j][k] < arr[j+1][k]) {
- int temp= arr[j][k];
- arr[j][k] = arr[j+1][k];
- arr[j+1][k] = temp;
- }
- }
- }
- }
- printf("列排序:\n");
- printArray(row, col, arr);
- }
- int main(int argc, const char * argv[]) {
- int row,col;
- printf("请输入行数和列数:用逗号隔开\n");
- scanf("%d,%d",&row,&col);
- int array[row][col];
- // 初始化数组
- getArray(row, col, array);
- // 打印数组
- printArray(row, col, array);
- // 行排序
- rowOrder(row, col, array);
- // 列排序
- colOrder(row, col, array);
- return 0;
- }
复制代码 |
|