输入一个字符串,长度不超过20,字符串中包含数字和非数字字符,将其中是数字的字符提取出来,对它们进行从小到大排序,非数字字符则忽略不计。
Input
若干行字符串
Output
每一个字符串中所有数字的升序排序。每个数字占四个字符位置。使用cout<< setw(4)<< num;
处理完一行字符串换行一次。使用cout<< endl;
Sample
Inputcopy | Outputcopy |
---|---|
31W 7Q9 2D2 4d t51 X9P |
1 2 2 3 7 9 1 4 5 9 |
Hint
1.由于有多组测试数据,要求使用while循环读取输入。如下:
while(cin.getline(str,21))
{
//你的代码
}
2.setw(4)函数需要#include < iomanip >
//
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<char> v;
string s;
int i;
while( getline( cin,s ) )
{
v.clear();
for( i=0;i<s.size();i++ )
if( isdigit( s[i] ) ) v.push_back( s[i] );
sort( v.begin(),v.end() );
for( i=0;i<v.size();i++ ) printf(" %c",v[i]);
cout<<endl;
}
return 0;
}