A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. #include <stdio.h>
  2. /**
  3. *  初始化数组
  4. *
  5. *  @param row   行数
  6. *  @param col   列数
  7. *  @param array 数组名
  8. */
  9. void getArray(int row,int col,int array[row][col]){
  10.    
  11.     for (int i = 0; i < row; i++) {
  12.         for (int j = 0; j < col; j++) {
  13.             printf("请输入第%d行,第%d列的数",i+1,j+1);
  14.             scanf("%d",&array[i][j]);
  15.         }
  16.         
  17.     }
  18. }
  19. /**
  20. *  打印数组
  21. *
  22. *  @param row   函数
  23. *  @param col   列数
  24. *  @param array 数组名
  25. */
  26. void printArray(int row,int col,int array[row][col]){
  27.    
  28.     for (int i = 0; i<row; i++) {
  29.         for (int j = 0; j<col; j++) {
  30.             printf("%d\t\t",array[i][j]);
  31.         }
  32.         printf("\n");
  33.     }
  34.    
  35. }
  36. /**
  37. *  每一行从大到小排列
  38. *
  39. *  @param row 行数
  40. *  @param col 列数
  41. *  @param arr 数组名
  42. */
  43. void rowOrder(int row,int col,int arr[row][col]){
  44.     for (int k = 0; k < row; k++) {
  45.         for (int i = 0; i < col-1; i++) {
  46.             for (int j = 0; j < col-i-1; j++) {
  47.                 if (arr[k][j] < arr[k][j+1]) {
  48.                     int temp= arr[k][j];
  49.                     arr[k][j] = arr[k][j+1];
  50.                     arr[k][j+1] = temp;
  51.                 }
  52.             }
  53.         }
  54.     }
  55.     printf("行排序:\n");
  56.     printArray(row, col, arr);
  57. }
  58. /**
  59. *  每一列从大到小排序
  60. *
  61. *  @param row 行数
  62. *  @param col 列数
  63. *  @param arr 数组名
  64. */
  65. void colOrder(int row,int col,int arr[row][col]){
  66.     for (int k = 0; k < row; k++) {
  67.         for (int i = 0; i < col-1; i++) {
  68.             for (int j = 0; j < col-i-1; j++) {
  69.                 if (arr[j][k] < arr[j+1][k]) {
  70.                     int temp= arr[j][k];
  71.                     arr[j][k] = arr[j+1][k];
  72.                     arr[j+1][k] = temp;
  73.                 }
  74.             }
  75.         }
  76.     }
  77.     printf("列排序:\n");
  78.     printArray(row, col, arr);
  79. }

  80. int main(int argc, const char * argv[]) {
  81.     int row,col;
  82.     printf("请输入行数和列数:用逗号隔开\n");
  83.     scanf("%d,%d",&row,&col);
  84.     int array[row][col];
  85. //    初始化数组
  86.     getArray(row, col, array);
  87. //    打印数组
  88.     printArray(row, col, array);
  89. //    行排序
  90.     rowOrder(row, col, array);
  91. //    列排序
  92.     colOrder(row, col, array);
  93.     return 0;
  94. }
复制代码

1 个回复

正序浏览
给大牛赞一个.....
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马