用c++给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个(随机生产n个整数范围是1-100),如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。 例如输入整数6 随机产生194839,产生的随机数打印出来,再次输入其中一个随机数,如下: 输入9 输出2
时间: 2023-05-22 12:07:00 浏览: 549
蓝桥杯-基础练习 查找整数
5星 · 资源好评率100%
这是一个典型的查找问题,可以使用线性查找算法来解决。以下是一个可能的C++实现:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int n, a;
cout << "请输入整数个数n:";
cin >> n;
int *arr = new int[n]; // 使用动态数组存储随机数
for(int i = 0; i < n; i++)
{
arr[i] = rand() % 100 + 1; // 生成1-100之间的随机数
cout << arr[i] << " ";
}
cout << endl;
cout << "请输入要查找的整数a:";
cin >> a;
int pos = -1; //记录a第一次出现的位置
for(int i = 0; i < n; i++)
{
if(arr[i] == a)
{
pos = i + 1;
break;
}
}
if(pos != -1)
cout << "a第一次出现的位置是:" << pos << endl;
else
cout << "a在数列中不存在!" << endl;
delete [] arr; //释放动态数组占用的内存
return 0;
}
注意,在实现中使用了动态数组,可以避免在编译时确定数组大小带来的限制。另外,可以使用stdlib.h头文件中的rand()函数来生成随机数。
阅读全文