问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。
解答:
整体思路:
循环——>判断——>跳出循环——>对标志变量flag的讨论
个人参考代码:
1 #include<iostream> 2 3 using namespace std; 4 5 int main() 6 { 7 int data[1000+1]; 8 9 int n; 10 cin>>n; 11 12 for(int i=1;i<=n;i++) cin>>data[i]; 13 14 int aim; 15 cin>>aim; 16 17 int flag=0; 18 int i; 19 for(i=1;i<=n;i++) 20 { 21 if(data[i]==aim) 22 { 23 flag=1; 24 break; 25 } 26 } 27 28 if(flag==1) cout<<i<<endl; 29 else cout<<-1<<endl; 30 31 return 0; 32 }