本题目要求读入n个整数(输入数字个数根据输入时随机确定,以输入一个非数字的值作为输入结束标志),利用STL比较数据大小并排序(由小到大升序),然后输出排序后的数据。
输入格式:
输入在一行中依次输入整数值,每个数字之间用空格分隔,输入数字个数根据输入时随机确定,以输入一个非数字的值作为输入结束标志。
输出格式:
先输出一段提示“从标准设备读入数据,直到输入是非整型数据为止”,在输入一组数字后,输出排序后的数字,在一行中由小到大依次输出所有值,数字之间用空格分隔。
输入样例:
10 3 -2 8 20 -9 e
输出样例:
从标准设备读入数据,直到输入是非整型数据为止
-9 -2 3 8 10 20
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> val;
int n;
while(cin>>n)
val.push_back(n);
sort(val.begin(),val.end());
vector<int>::iterator p;
cout<<"从标准设备读入数据,直到输入是非整型数据为止"<<endl;
for(p=val.begin();p!=val.end();++p)
cout<<" "<<*p;
return 0;
}