版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_42812128/article/details/86662688
此方法是一个很厉害的学长教我的,思想是把位置保存在数组中,下面贴出代码。
#include<stdio.h>
int main(){
int n,x[10000]={0},i,a,num=0,m;//初始化数组每个数为0
scanf("%d",&n);//数组里面一共n个数
for(i=0;i<n;i++){
scanf("%d",&m);//输入m这个值,注意并不是把m输入进数组中
if(x[m]==0){//由于数组都为0,该句表示m是第一次输入
x[m] = i+1;//记录下m的位置
}
}
scanf("%d",&a);
num = x[a];//num就是指位置
if(num==0){
printf("%d",num-1);//a没有存入数组,输出-1
}else
printf("%d",num);
return 0;
}