您的位置:首页 > 其它

华为oj 字符串排序

2016-01-25 16:20 309 查看
#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
;
gets(s);
//map<int,int> spe; //记录其他字符的起始位置和长度
string word; //存放字母的字符串
getStatus(s,word);
string word1;
sortWord(word,word1);
printResult(word1,s);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: