您的位置:首页 > 其它

蓝桥杯 OJ BASIC-5 查找整数

2018-01-21 14:50 183 查看
问题描述

给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。

输入格式

第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。

输出格式

如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。

样例输入

6

1 9 4 8 3 9

9

样例输出

2

数据规模与约定

1 <= n <= 1000。

Think:

 这个坑到我了,最后一个测试一直过不了无法AC,我是这样写的:

#include <iostream>
using namespace std;
#define maxn 1000+10
int main(){
    int a[maxn];
    int n,p,i;
    cin>>n;
    for(i=0;i<n;i++)cin>>a[i];
    cin>>p;
    i=0;
    while(i<n)
if(a[i++]==p){
    		cout<<i;
    		break;
}
    return 0;
}


 找的别人的是这样的,可以AC:

#include<iostream>

using namespace std;

int main(){
int n,a,num[1000],seat=-1;
cin>>n;
for(int i=0;i<n;i++){
cin>>num[i];
}
cin>>a;
for(int j=0;j<n;j++){
if(num[j]==a){
seat=j+1;
break;
}
}
cout<<seat;
return 0;
}

现在也没有找出原因,希望看到的大佬能看看怎么回事。
题目网址:http://lx.lanqiao.cn/detail.page?submitid=1948376###

Code:

 暂时贴上别人的。
#include<iostream>

using namespace std;

int main(){
int n,a,num[1000],seat=-1;
cin>>n;
for(int i=0;i<n;i++){
cin>>num[i];
}
cin>>a;
for(int j=0;j<n;j++){
if(num[j]==a){
seat=j+1;
break;
}
}
cout<<seat;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  蓝桥杯 基础练习