数组元素赋值排序后输出数组元素

比如a[0]=12
a[1]=25
a[2]=8
a[3]=36
排序后为8, 12 ,25 ,36
怎样输出排序后对定的数组下标

                                                          (初学者)

你意思排序后还要知道每个数原来的序号吗?
那你可以另外再定义一个数组,存储数组序号,当源数组排序的同时,新数组同步对应序号进行交换顺序,最后按新数组的序号排列获取输出值


#include "stdio.h"

#include<stdlib.h>


//冒泡排序
void choose(int a[],int n){
    int i,j,temp;
    for(i=1;i<n;i++)
    {
        for(j=n-1;j>=i;j--)
        {
            if(a[j]>a[j-1]){
                temp=a[j];
                a[j]=a[j-1];
                a[j-1]=temp;
            }
        }    
    }    
}
//输出
void output(int a[],int n){
    int i;
    for(i=0;i<n;i++)
        printf("%d(%d)\t",a[i],i);        
}
void main()
{
    
    int a[1000];
    int n;
    int i;
    printf("请输入N:");
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);    
    }
    //冒泡排序
    choose(a,n);
    //输出
    output(a,n);
}