C语言程序题,根据二维数组第二个数的大小排序从小到大.比如:有s[12][2].初始值为1 33 40 73 815 1915 2010 158 186 125 104 142 9现在要如题排序了.结果应该是1 33 40 73 82 95 106 124 1410 158 1815 1915 20并且将
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 12:51:07
C语言程序题,根据二维数组第二个数的大小排序从小到大.比如:有s[12][2].初始值为1 33 40 73 815 1915 2010 158 186 125 104 142 9现在要如题排序了.结果应该是1 33 40 73 82 95 106 124 1410 158 1815 1915 20并且将
C语言程序题,根据二维数组第二个数的大小排序从小到大.
比如:有s[12][2].
初始值为
1 3
3 4
0 7
3 8
15 19
15 20
10 15
8 18
6 12
5 10
4 14
2 9
现在要如题排序了.
结果应该是
1 3
3 4
0 7
3 8
2 9
5 10
6 12
4 14
10 15
8 18
15 19
15 20
并且将这结果仍然保存在s[12][2]中.
输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n
C语言程序题,根据二维数组第二个数的大小排序从小到大.比如:有s[12][2].初始值为1 33 40 73 815 1915 2010 158 186 125 104 142 9现在要如题排序了.结果应该是1 33 40 73 82 95 106 124 1410 158 1815 1915 20并且将
#include <stdio.h>
void sort(int a[][2],int n) {
\x09int i,j,k,t;
\x09for(i = 0; i < n - 1; ++i) {
\x09\x09k = i;
\x09\x09for(j = i + 1; j < n; ++j) {
\x09\x09\x09if(a[k][1] > a[j][1])
\x09\x09\x09\x09k = j;
\x09\x09}
\x09\x09if(k != i) {
\x09\x09\x09for(j = 0; j < 2; ++j) {
\x09\x09\x09\x09t = a[k][j];
\x09\x09\x09\x09a[k][j] = a[i][j];
\x09\x09\x09\x09a[i][j] = t;
\x09\x09\x09}
\x09\x09}
\x09}
}
int main() {
\x09int a[12][2] = {1,3,3,4,0,7,3,8,15,19,15,20,10,15,8,18,6,12,5,10,4,14,2,9};
\x09int i,j;
\x09printf("排序前:\n");
\x09for(i = 0; i < 12; ++i) {
\x09\x09for(j = 0; j < 2; ++j)
\x09\x09\x09printf("%4d",a[i][j]);
\x09\x09printf("\n");
\x09}
\x09sort(a,12);
\x09printf("排序后:\n");
\x09for(i = 0; i < 12; ++i) {
\x09\x09for(j = 0; j < 2; ++j)
\x09\x09\x09printf("%4d",a[i][j]);
\x09\x09printf("\n");
\x09}
\x09return 0;
}