原题地址:查找整数
问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。
解:
由于数据存入后才能搜索,因此用第一个for来存入数据,第二个for来用下标遍历数组。找到后if判断并break,不然又第二个数据,会覆盖第一个保存的值。
代码:
#include"iostream"
using namespace std;
int main()
{
int z[1000],n,a,flag=-1;//flag标记位置,默认为-1
cin>>n;
for(int i=0;i<n;i++)//输入
cin>>z[i];
cin>>a;
for(int i=0;i<n;i++)//遍历
if(z[i]==a)
{
flag=i+1;
break;//发现发现第一个就跳出循环
}
cout<<flag;
return 0;
}