首页 > 代码库 > 华为机试—提取数字排序
华为机试—提取数字排序
输入多个字符串,分别提取出里面的数字,排序输出所有的数字。
#include<iostream> #include<cctype> #include<vector> #include<string> #include<algorithm> using namespace std; vector<int>vec; int main(int argc, char *argv[]) { int n; string s; while(cin>>n) { for(int i=0;i<n;++i) { cin>>s; int num=0; for(string::size_type j=0;j<s.size();++j) { if(isnumber(s[j])) { num=num*10+s[j]-'0'; } } vec.push_back(num); } sort(vec.begin(),vec.end()); for(vector<int>::iterator it=vec.begin();it!=vec.end();++it) { cout<<*it<<endl; } } return 0; }
测试数据:
3
ewrfwas4adasd00weawdsad432asds00xxx
00sdsd400asdasdsd4
023asd4asdsadds5
测试结果:
华为机试—提取数字排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。