我无法在第二次循环后对数字进行排序,第一组编号被排序,但之后他们只按相同的顺序打印给定的数字。 前输入:
2
4
67
90
76
89
3
67
45
12
输出:
67 76 89 90
67 45 12
这是代码
#include<stdio.h>
#include<string.h>
#define Read(inp) scanf("%i",&inp)
#define For(i,a) for(i=0; i<a; i++)
int temp;
void sort(int num1, int num2, int inp2[][num1]);
int main() {
int T;
int N[100];
int weight[100][100];
int i, j;
Read(T);
For(i,T)
{
Read(N[i]);
For(j,N[i])
{
Read(weight[i][j]);
}
}
int e, d;
For(e,T)
{
sort(N[e], e, weight);
For(d,N[e])
{
printf("%i ", weight[e][d]);
}
printf("\n");
}
}
void sort(int num1, int num2, int inp2[][num1]) {
int d, e;
For(d,num1-1)
{
For(e,num1-1-d)
{
if (inp2[num2][e] > inp2[num2][e + 1]) {
temp = inp2[num2][e];
inp2[num2][e] = inp2[num2][e + 1];
inp2[num2][e + 1] = temp;
}
}
}
}