#include <stdio.h>
int main()
{
int a[20],i,t1,t2,k[20],n;
for(i=1;i<=20;i++)
{
scanf("%d",&n);
a[i]=n;
k[i]=i;
}
for(int q=1;q<=19;q++)
{
for(int j=q+1;j<=20;j++)
{
if(a[q]>a[j])
{
t1=a[q];
a[q]=a[j];
a[j]=t1;
t2=k[q];
k[q]=k[j];
k[j]=t2;
}
}
}
for(int p=1;p<=20;p++)
{
printf("%d-[%d] ",a[p],k[p]);
}
return 0;
}
输入 9 8 7 6 5 4 3 2 1 0 85 74 125 963 258 741 456 789 321 2222
Dev c++的结果和我预计的一样
0-[10] 1-[9] 2-[8] 3-[7] 4-[6] 5-[5] 6-[4] 7-[3] 8-[2] 9-[1] 74-[12] 85-[11] 125-[13] 258-[15] 321-[19] 456-[17] 741-[16] 789-[18] 963-[14] 2222-[20]
而codeblock却是这样
0-[10] 1-[9] 2-[8] 3-[7] 4-[6] 4-[20] 3-[5] 2-[4] 1-[3] 2-[2] 11-[1] 12-[12] 11-[11] 14-[13] 17-[15] 16-[19] 18-[17] 14-[16] 18-[18] 14-[14]
为什么呀很奇怪 希望各位xd帮忙看看!感谢!