早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言 【给数组中的元素按顺序编号】对数组 a[10] 中的十个整数从小到大进行连续编号,输出各个元素的编号.要求不能改变数组 a 中元素的顺序,且相同的整数要具有相同的编号.例如数组是:

题目详情
C语言 【给数组中的元素按顺序编号】
对数组 a[10] 中的十个整数从小到大进行连续编号,输出各个元素的编号.要求不能改变数组 a 中元素的顺序,且相同的整数要具有相同的编号.
例如数组是:A=(5,3,4,7,3,5,6,8,9,10) 则输出为:(4,1,3,7,1,4,6,8,9,10)
▼优质解答
答案和解析
算法思路很简单,就是对每个数组元素,在数组中统计比其小的元素的个数,然后该元素的序号就是统计结果加1.
#include
 
void main( ) {
    int a[10],b[10],i,j,count;
     for(i = 0; i < 10; i++)
        scanf("%d",&a[i]);
     for(i = 0; i < 10; i++)
    {
        for(j = 0,count = 0; j < 10; j++)
            if(a[j] < a[i]) count++;
        b[i] = count + 1;
    }
     for(i = 0; i < 10; i++)
        printf("%3d",b[i]);
    printf("\n");
}
运行结果