吉比特 字母数字混合排序 字符串
题目描述
输入一串字符,包含数字[0-9]和小写字母[a-z],要求按数字从小到大、字母从a到z排序,并且所有数字排在字母后面
输入描述:
一串字符
输出描述:
按规则排序的一串字符
示例1
输入
a31bz
输出
abz13
#include<iostream>
#include<algorithm>
using namespace std;
int cnt[10];
int w[30];
int main()
{
string s;
while(cin>>s)
{
int len=s.length();
for(int i=0;i<len;++i)
{
if(s[i]>='0' && s[i]<='9')
{
cnt[s[i]-'0']++;
}else if(s[i]>='a' && s[i]<='z')
{
w[s[i]-'a']++;
}
}
for(int i=0;i<26;++i)
{
while(w[i]--)
{
printf("%c",'a'+i);
}
}
for(int i=0;i<10;++i)
{
while(cnt[i]--)
{
cout<<i;
}
}
cout<<endl;
}
return 0;
}