C语言 【给数组中的元素按顺序编号】

2024-10-30 03:53:54
推荐回答(3个)
回答1:

算法思路很简单,就是对每个数组元素,在数组中统计比其小的元素的个数,然后该元素的序号就是统计结果加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");
}

运行结果

回答2:

#include

#include
int main()
{
int a[100],b[100];
int i,j,s=1,n;
memset(b,0,100*sizeof(int));
printf("Input N:\n");
scanf("%d",&n);
printf("Input %d Numbers\n",n);
for(i=0;i for(i=0;i for(j=i+1;j if(a[i]==a[j])b[i]++;
for(i=0;i {
s=1;
for(j=0;j if(b[j]==0 &&a[i]>a[j])
s++;
printf("%d ",s);
}
printf("\n");
return 0;
}

回答3:

#include
int main()
{
int a[10];
int i,j,k;
for(i=0;i<10;i++)scanf("%d",a+i);
for(i=0;i<10;i++)
{
k=1;
for(j=0;j<10;j++)if(a[i]>a[j])k++;
printf("%d ",k);
}
return 0;
}