将数组中的最值交换位置以后输出 而不是将其覆盖掉

#include
int main()
{
int t,T,N,i,j,max,min;
scanf("%d",&T);
for(t=1;t<=T;t++)
{
scanf("%d",&N);
int a[N];
for(i=0;i {
scanf("%d",&a[i]);
}
max=min=a[0];
for(i=0;i {
if(max if(min>a[i]) min=a[i];
j=max;
max=min;
min=j;
}
for(i=0;i<N;i++)
{
printf("%d ",a[i]);
}
}
return 0;
}

你7要做什么,最值是max min,你输出数组干嘛

for(i=0;i {
scanf("%d",&a[i]);
}
max=min=a[0];
for(i=0;i {
if(max if(min>a[i]) min=a[i];
j=max;
max=min;
min=j;
}
这段代码错了吧。
for(i=0;i {scanf("%d",&a[i]);
}
max=min=a[0];
for(i=0;i {
if(max {
max=a[i];
j1=i;//记录最大值的下标
}
if(min>a[i])
{
min=a[i];//记录最小值的下标
j2=i;
}
}
a[j2]=max;
a[j1]=min;
}
这样子,就是只调换了最值的位置啦