C 无法对数组进行第二次排序
我无法在第二次循环后对数字进行排序,第一组数字被排序,但之后它们只按相同的顺序打印给定的数字。 Ex输入:C 无法对数组进行第二次排序,c,function,sorting,multidimensional-array,bubble-sort,C,Function,Sorting,Multidimensional Array,Bubble Sort,我无法在第二次循环后对数字进行排序,第一组数字被排序,但之后它们只按相同的顺序打印给定的数字。 Ex输入: 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(
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;
}
}
}
}
#包括
#包括
#定义读取(inp)扫描(“%i”、&inp)
#定义(i,a)(i=0;i inp2[num2][e+1]){
温度=inp2[num2][e];
inp2[numm2][e]=inp2[numm2][e+1];
inp2[num2][e+1]=温度;
}
}
}
}
使用宏作为懒散的代码编写方式,再加上糟糕的代码格式设置,使您的新语言几乎无法阅读。你能提供一本手册吗?重写这段代码而不使用宏void sort(int num1,int num2,int inp2[][num1])代码>-->无效排序(int num1、int num2、int inp2[][100])代码>因为<代码>权重>代码>不是VLA。@ CxU.No,我在别人编写的代码中看到了这些。@ A.S.H C程序员可能没有和C++一样懒惰吗?新的想法(好的和坏的)慢慢地进入C代码库。