黑马程序员技术交流社区
标题:
[半缘君一天一更]自己搞的二维数组另类排序,求指教!
[打印本页]
作者:
1wang2huan
时间:
2015-9-1 21:59
标题:
[半缘君一天一更]自己搞的二维数组另类排序,求指教!
#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;
}
复制代码
作者:
驴小叔
时间:
2015-9-1 22:25
给大牛赞一个.....
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2