基础练习 查找整数

问题描述

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

输入格式

第一行包含一个整数n。

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

第三行包含一个整数a,为待查找的数。

输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。
代码:

#include <stdio.h>
#include <stdlib.h>
int main() {
int n,i,a,j,k=0;
scanf("%d",&n);
int b[n];
for(i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
scanf("%d",&a);
for(j=0;j<n;j++)
{
if(b[j]==a)
{
j++;
printf("%d\n",j);
break;
}
k++;
if(k==n)
printf("-1");
}
return 0;
}

思考:

其实基本思路很明显了,但就是小细节没注意卡了很久。

一个是放进数组的时候手癌打成a[n],数列根本没存进去otz(我晕,几百年没出现这种错误了)

另一个是相同情况时输出的对象,一开始想用中间值k计数,结果发现报错了(怀疑是最后一个实现问题没试,偷懒直接用数组下标j

posted @ 2020-01-27 11:19  Shawuila  阅读(183)  评论(0编辑  收藏  举报