如何使用C语言编写程序来对2D数组进行排序,而不使用指针, 只是循环和if语句并只使用main函数
数组
7 5 2
3 1 4
6 9 8
将是
1 2 3
4 5 6
7 8 9
如果您可以发布示例代码:) 非常感谢
答案 0 :(得分:0)
在发布此类问题之前尝试搜索网络。这是c:
中的冒泡排序实现的任何方式#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define ARRAY_SIZE 20
void print_array(int *array) {
int x;
for(x = 0; x < ARRAY_SIZE; x++) {
if(x != ARRAY_SIZE-1)
fprintf(stdout, "%d, ", array[x]);
else
fprintf(stdout, "%d\n", array[x]);
}
}
int main() {
int iarray[ARRAY_SIZE];
int x, y, holder;
// Seed rand()
srand((unsigned int)time(NULL));
for(x = 0; x < ARRAY_SIZE; x++)
iarray[x] = (int)(rand() % 100);
fprintf(stdout, "Before Sort\n---------------\n");
print_array(iarray);
// Bubble sort method.
for(x = 0; x < ARRAY_SIZE; x++)
for(y = 0; y < ARRAY_SIZE-1; y++)
if(iarray[y] > iarray[y+1]) {
holder = iarray[y+1];
iarray[y+1] = iarray[y];
iarray[y] = holder;
}
fprintf(stdout, "\nAfter Sort\n---------------\n");
print_array(iarray);
}
答案 1 :(得分:-1)
我猜你需要这个算法的帮助。为此,您可以咨询http://www.learncpp.com/cpp-tutorial/65-multidimensional-arrays/