蓝桥杯基础练习 查找整数 告别循环查找 将位置存入数组

版权声明:本文为博主原创文章,未经博主允许不得转载 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;
}

猜你喜欢

转载自blog.csdn.net/qq_42812128/article/details/86662688