问题描述:
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式:
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式:
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入:
6
1 9 4 8 3 9
9
样例输出:
2
数据规模与约定:
1 <= n <= 1000。
题解:
思路:首先要定一个数组,为了防止出错,比题目给的大一点(1005),然后利用for循环去寻找要找的那个数,设立一个标志flag=0,当循环找到了该数,flag=1,输出该下标i+1,退出循环,循环结束后如果未找到该数,flag=0时,输出-1
#include<iostream>
using namespace std;
int main(void)
{
int n, number, flag = 0;
int a[1005];
cout << "请输入要输入的个数(1-1000):";
cin >> n;
cout << "请输入" << n << "个数字(<10000):";
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
cout << "请输入要查找的数:";
cin >> number;
for (int i = 0; i < n; i++)
{
if (a[i] == number)
{
a[i] = number;
cout << i + 1;
flag = 1;
break;
}
}
if (flag == 0)
cout << "-1" << endl;
system("pause");
return 0;
}