- 题目大意
题目中给出一个n个数的序列和q次查询,每次询问查询值是否在序列内,如果在,输出序列升序排列后的位置(从1开始)。
- 解题思路
先使用sort()函数进行升序排列,然后枚举出其中与查找的值相同的数,符合条件就输出。
- 代码
#include<iostream>
#include<algorithm>
using namespace std;
int num[10000];
int main()
{
int N, Q,q;
int a=1,b=-1;
while (cin>>N>>Q)
{
if (N == 0 && Q == 0)
break;
cout << "CASE# " << a << ":" << endl;
for (int i = 0; i < N; i++)
{
cin >> num[i];
}
sort(num,num+N);
for (int j = 0; j < Q; j++)
{
cin >> q;
for (int k = 0; k < N; k++)
{
if (q == num[k])
{
cout << q << " found at " << k + 1 << endl;
b = 0;
break;
}
}
if (b == -1)
{
cout << q << " not found" << endl;
}
else
{
b = -1;
}
}
a++;
}
return 0;
}