【题目描述】
在一个序列(下标从1开始)中查找一个给定的值,输出第一次出现的位置。
【输入】
第一行包含一个正整数n,表示序列中元素个数。1 ≤n≤ 10000。
第二行包含n个整数,依次给出序列的每个元素,相邻两个整数之间用单个空格隔开。元素的绝对值不超过10000。
第三行包含一个整数x,为需要查找的特定值。x的绝对值不超过10000。
【输出】
若序列中存在x,输出x第一次出现的下标;否则输出-1。
【输入样例】
5
2 3 6 7 3
3【输出样例】
2
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n,x;
int a[10001];
int i;
int flag=0;
cin>>n;//输入序列元素个数n
for(i=1; i<=n; i++) //输入每个元素
cin>>a[i];
cin>>x;//输入查找特定值
for(i=1; i<=n; i++) //对每个数依次比较
{
if(a[i]==x)//若查找到了
{
flag=1;//记录标志,说明数列中存在x
cout<<i<<endl;//输出下标位置
break;//终止循环
}
}
if(flag==0)//如果记录标志为0,说明数列中不存在x
cout<<-1<<endl;//输出-1
return 0;
}
信息学奥赛一本通T1110:一维数组 查找特定的值 归属于 一维数组,更多同类题解源程序见:一维数组 和 查找特定的值
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!