1.9编程基础之顺序查找 01:查找特定的值
1110:查找特定的值
总时间限制:
1000ms
内存限制:
65536kB
描述
在一个序列(下标从1开始)中查找一个给定的值,输出第一次出现的位置。
输入
第一行包含一个正整数n,表示序列中元素个数。1 <= n <= 10000。
第二行包含n个整数,依次给出序列的每个元素,相邻两个整数之间用单个空格隔开。元素的绝对值不超过10000。
第三行包含一个整数x,为需要查找的特定值。x的绝对值不超过10000。
输出
若序列中存在x,输出x第一次出现的下标;否则输出-1。
样例输入
5 2 3 6 7 3 3
样例输出
2
C++参考代码一:
#include<cstdio>
using namespace std;
int a[10010];
int main()
{
int n,x;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&x);
for(int i=0;i<n;i++)
{
if(x==a[i])
{
printf("%d",i+1);
return 0;
}
}
printf("-1");
return 0;
}
C++参考代码二:
#include <bits/stdc++.h>
using namespace std;
int a[10001];
int main()
{
int n,x;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
cin>>x;
for(int i=1;i<=n;i++)
{
if(a[i]==x)
{
cout<<i<<endl;
return 0;
}
}
cout<<"-1"<<endl;
return 0;
}
C++参考代码三:
#include <bits/stdc++.h>
using namespace std;
int a[10001];
int main()
{
int n,x,k=-1,j;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
cin>>x;
j=0;
while(j<=n && k<0)
{
j++;
if(a[j]==x)
k=j;
}
cout<<k<<endl;
return 0;
}
C++参考代码四:
#include<iostream>
#include<cstring>
int a[10001];
using namespace std;
int main()
{
int n,x;
int i;
int flag=0;
cin>>n;
for(i=1; i<=n; i++)
cin>>a[i];
cin>>x;
for(i=1; i<=n; i++)
{
if(a[i]==x)
{
flag=1;
cout<<i<<endl;
break;
}
}
if(flag==0)
cout<<-1<<endl;
return 0;
}
python3代码:
"""
1.9编程基础之顺序查找 01:查找特定的值
http://noi.openjudge.cn/ch0109/01/
1110:查找特定的值
http://noi.openjudge.cn/ch0109/01/
"""
import sys
n=int(input())
a=list(map(int,input().split()))
x=int(input())
"""
i=0
while i<len(a)-1:
if a[i]==a[len(a)-1]:
print(i+1)
break
i+=1
"""
for i in range(len(a)):
if a[i]==x:
print(i+1)
#break
sys.exit(0)
print("-1")
作业:
1、P5718 【深基4.例2】找最小值
2、P2249 【深基13.例1】查找