|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- /*
- 2012年2月13日14:20:52
- 二维数组的排序
- 采用方法:a[0][0]与其他每个数比较,然后a[0][1]在于其他数比,然后a[0][2]再与其他数比,以此类推
- */
- # include <stdio.h>
- int main(void)
- {
- int a[3][4] = {
- {9, 85, 5, 65},
- {15,14, 7, 8},
- {1, 3, 19,92}
- };
- int x, y;
- int i, j;
- int t;
- for(i=0; i<3; ++i)
- {
- for(j=0; j<4; ++j)
- {
- for(x=0; x<3; ++x)
- {
- for(y=0; y<4; ++y)
- {
- //这里我改成if(a[i][j] < a[x][y]),就是由小到大的排序,但是原因不懂。
- if(a[i][j] > a[x][y])//为何结果却是由大到小排序了,而不是由小到大
- {
- t = a[i][j];
- a[i][j] = a[x][y];
- a[x][y] = t;
- }
- //用于检测数据
- //printf("%-5d %-5d\n", a[i][j], a[x][y]);
- }
- }
- }
- }
- //输出结果
- for(i=0; i<3; ++i)
- {
- for(j=0; j<4; ++j)
- printf("%-5d", a[i][j]);
- printf("\n");
- }
- return 0;
- }
- /*
- 在VC++6.0的运算结果是:
- --------------------------------------
- 92 85 65 19
- 15 14 9 8
- 7 5 3 1
- -------------------------------------
- */
复制代码 |
|