#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i,j,a[97],b[97],min;
if(n>3&&n<101)
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
b[i]=a[i];
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
min=a[i];
a[i]=a[j];
a[j]=min;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(b[i]==a[j])
printf("%d ",j+1);
}
}
}
return 0;
}
题目是n个同学编号依次为1,2,……,n,每个同学一个分数。请你做一份全班成绩排名表 你要按照分数从高到低将所有同学排序,再输出编号 保证任意两个同学分数互不相同,输入:第一行,整数n(3<n<101) 接下来n行,每行1个整数(不大于100)表示分数,输出:一行,排名为1,2……的编号。`
27行,for(j=0;j<n-i-1;j++)
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i,j,a[97],b[97],min;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
b[i]=a[i];
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
min=a[i];
a[i]=a[j];
a[j]=min;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[i]==b[j])
printf("%d ",j+1);
}
}
return 0;
}