#include<iostream>
#include<string>
#define N 1000
using namespace std;
bool isChar(char a)
{
if((a>='A'&&a<='Z')||(a >='a'&&a<='z'))
return true;
else
return false;
}
void getStatus(char *s,string &word)
{
int count = 0;
while(*s != '\0')
{
if(isChar(*s))
word.push_back(*s);
++count;
++s;
}
}
void sortWord(string &word,string &word1)
{
int size = 65;
int len = word.length();
while(size != 91)
{
for(int i=0;i<len;i++)
{
if(word[i]== size || word[i]==(size+32))
word1.push_back(word[i]);
}
++size;
}
}
void printResult(string &word,char *s)
{
int count = 0;
int i = 0;
while(*s != '\0')
{
if(isChar(*s))
*s = word[i++];
cout<<*s;
++s;
}
cout<<endl;
}
int main()
{
char s[N];
gets(s);
//map<int,int> spe; //记录其他字符的起始位置和长度
string word; //存放字母的字符串
getStatus(s,word);
string word1;
sortWord(word,word1);
printResult(word1,s);
return 0;
}
华为oj 字符串排序
最新推荐文章于 2018-08-04 19:18:38 发布