给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
第一行包含一个整数n。
第二行包含 n 个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
题目可以理解为输入一个数确定数列中数的个数,第二次输入填充数列,第三次输入所要查找的值,输出的是这个值第一次出现的位置,没有出现则输出-1。可以通过for循环实现确定数列中的个数与输入数的保存,最后通过for循环比较查找数字,查找一位i自增,到找到该数字时输出i的值,未找到i则等于-1;
#include <iostream> using namespace std; int main() { int n, a, num[1000]; cin >> n; for (int j = 0; j < n; j++) { cin >> num[j]; } cin >> a; for (int i = 0; i <= n; i++) { if (num[i] == a) { cout << i+1; break; } else if(i==n) { cout << -1; } } return 0; }
要注意在输出查找数字所在位置时,输出不能时i,数组开始为0,数字位置的开始为1,所以输出应为i+1。