D - Where is the Marble? (UVA - 10474)

- 题目大意

     题目中给出一个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;
	
}

  

posted @ 2018-02-10 12:55  Alpacaddhh  阅读(105)  评论(0编辑  收藏  举报