题解 | 找x
找x
https://www.nowcoder.com/practice/069e2130430c41229ab25e47fa0949a6
#include<stdio.h>
using namespace std;
#include<vector>
#include<algorithm>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
vector<int> vec1(n);
for(int i=0;i<n;i++){
scanf("%d",&vec1[i]);
}
int x;
scanf("%d",&x);
//法1:遍历动态数组查找x
for(int i=0;i<n;i++){
if(vec1[i]==x){
printf("%d\n",i);
return 0;
}
}
printf("%d\n",-1);
}
//法2:如果find函数找到了x,就会返回一个迭代器类型值
vector<int>::iterator it;
it=find(vec1.begin(),vec1.end(),x);
if(it==vec1.end()){
printf("-1\n");
}else{
//it迭代器相当于指针,减去起始位置得到距离值
printf("%d\n",it-vec1.begin());
}
return 0;
}
计算机复试机试(王道版) 文章被收录于专栏
收录王道2026年计算机复试机试的(课程)代码题解,仅供个人学习参考