用C语言完成以下需求,二维3*3数组{1,3,5,7,9,2,4,6,8},用插队法排序,从大到小,采用x坐标和y坐标二维循环遍历数组各个元素,排序完成后,采用3行打印排序后的二维数组,并且数组元素不能发生改变。
时间: 2023-02-11 13:07:22 浏览: 97
数组排序(C语言调用)
C语言实现二维3*3数组{1,3,5,7,9,2,4,6,8}的插队排序(从大到小)可以使用如下代码:
```
#include <stdio.h>
int main() {
int arr[3][3] = {{1, 3, 5}, {7, 9, 2}, {4, 6, 8}};
int i, j, k, temp;
// 排序
for (i = 0; i < 3; i++) {
for (j = 1; j < 3; j++) {
for (k = j; k > 0 && arr[i][k - 1] < arr[i][k]; k--) {
temp = arr[i][k];
arr[i][k] = arr[i][k - 1];
arr[i][k - 1] = temp;
}
}
}
// 打印排序后的二维数组
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
这段代码的思路是在二维循环遍历数组各个元素的基础上,对于每一行进行一次插队排序,最终得到的二维数组是排序后的结果。
阅读全文