题目描述
输入N个(N<=10000)数字,求出这N个数字中的最大值和最小值。每个数字的绝对值不大于1000000。
输入描述
输入包括多组测试用例,每组测试用例由一个整数N开头,接下去一行给出N个整数。
输出描述
输出包括两个整数,为给定N个数中的最大值与最小值。
分析
水题,不用排序,c++直接提供了求最值的泛型函数。max_element和min_element,不过一定要注意的是这两个函数的返回值是指向元素的迭代器。所以在取值的时候,需要对返回值进行解引用,这点一定要当心!一不小心就出错了!
AC代码如下:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(void)
{
int n;
while(cin >> n)
{
vector<int> num;
int temp = 0;
for(int i = 0; i < n; ++i)
{
cin >> temp;
num.push_back(temp);//元素插入容器中
}
//注意一定要解引用
cout << *max_element(num.begin(), num.end()) << " " << *min_element(num.begin(), num.end());
}
return 0;
}