大神们,帮帮忙,找下错误!!
14、输入a1,a2,a3,……,a20,将它们从小到大排序后输出,并给出现在每个元素所对应的原来次序。例如:输入:27,3,25,27,14,39输出: 3 2
14 5
25 3
27 1
27 4
39 6
--------------------------------------------------------------
当我的数组元素个数与要输入的个数一样是才正确,其他就会少一个数。帮帮忙。
--------------------------------------------------------------
void exe14()
{
int a[1024],b[1024],i,n,j,t;
printf("请输入要输入的数字个数:\n");
scanf("%d",&n);
printf("请输入数字:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
}
for(j=0;j<n;j++)
{
for(i=0;i<n;i++)
{
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
printf("-------------------\n");
printf("-------------------\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[i]==b[j])
{
printf(" %d ",a[i]);
printf("%d\n",j+1);
}
}
}
}