您的位置:首页 > 编程语言 > C语言/C++

C++:输入10个数字,找出最大最小值(可处理误输入)

2014-03-18 10:48 411 查看
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>
#include<string>
#include<sstream>
using namespace std;

int main()
{
vector<int> ivec;
string input;
int numInput;

cout << "Please input 10 numbers:" << endl;
for(int cnt = 0; cnt != 10; ++cnt)
{
cout << "You have input " << cnt << " numbers, " <<
"still need to input " << 10 - cnt << " numbers:" << endl;
while(true)
{
cin >> input;
cin.clear();
istringstream istream(input);
input.clear();
istream >> numInput;
if(istream.fail() || !istream.eof())
{
cout << cnt + 1 << ": Please input valid number!(from -2147483648 to 2147483647)" << endl;
}
else
{
ivec.push_back(numInput);
break;
}
}
}

cout << "\nThe numbers you have input are: \n";
for(vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)
cout << *iter << " ";
cout << endl;

vector<int>::const_iterator citerMin = min_element(ivec.begin(), ivec.end());
vector<int>::const_iterator citerMax = max_element(ivec.begin(), ivec.end());

cout << "\nThe minimum number is: " << *citerMin <<
"\nThe maximal number is: " << *citerMax << endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐