@sensitive-cs
2016-10-19T16:14:02.000000Z
字数 365
阅读 751
给出n个位置,每个位置上的数字是送给此同学礼物的同学的编号,输出n个数字,每个数字代表此编号的同学送给礼物的人,此人的编号。
用一个数组a[n+1]保存n个位置,另一个数组b[n+1]用来保存结果,则b[a[i]]=i,然后将数组输出。(其实就是一道逻辑题,举举栗子就能懂的。)
#include <stdio.h>
int a[110],b[110];
int main(void)
{
int n,i;
scanf("%d",&n);
for (i = 1;i <= n;i++)
scanf("%d",&a[i]);
for (i = 1;i <= n;i++)
b[a[i]] = i;
for (i = 1;i <= n;i++)
{
if (i == 1)
printf("%d",b[i]);
else
printf(" %d",b[i]);
}
return 0;
}