题解 | #字符串排序#
字符串排序
http://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
#include <iostream>
#include <string.h>
#include <string>
using namespace std;
int main()
{
string a;
while(getline(cin,a))
{
int h=a.length();
string g;
for(int i=0;i<h;i++)
{
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
{
g=g+a[i];
}
}
int b=g.length();
for(int i=0;i<b-1;i++)
{
// if((g[i]>='A'&&g[i]<='Z')||(g[i]>='a'&&g[i]<='z'))
// {
for(int j=i+1;j<b;j++)
{
int c=0,d=0;
// if((g[j]>='A'&&g[j]<='Z')||(g[j]>='a'&&g[j]<='z'))
// {
if(g[i]>='A'&&g[i]<='Z')
{
c=g[i]-'A';
}
else
{
c=g[i]-'a';
}
if(g[j]>='A'&&g[j]<='Z')
{
d=g[j]-'A';
}
else
{
d=g[j]-'a';
}
if(c-d>0)
{
char f=g[j];
for(int m=j;m>=i+1;m--)
{
g[m]=g[m-1];
}
g[i]=f;
}
}
}
for(int i=0;i<h;i++)
{
if((a[i]<'A'||a[i]>'Z')&&(a[i]<'a'||a[i]>'z'))
{
g=g.substr(0,i)+a[i]+g.substr(i,g.length()-i);
}
}
// }
//}
cout<<g;
}
return(0);
}
#include <string.h>
#include <string>
using namespace std;
int main()
{
string a;
while(getline(cin,a))
{
int h=a.length();
string g;
for(int i=0;i<h;i++)
{
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
{
g=g+a[i];
}
}
int b=g.length();
for(int i=0;i<b-1;i++)
{
// if((g[i]>='A'&&g[i]<='Z')||(g[i]>='a'&&g[i]<='z'))
// {
for(int j=i+1;j<b;j++)
{
int c=0,d=0;
// if((g[j]>='A'&&g[j]<='Z')||(g[j]>='a'&&g[j]<='z'))
// {
if(g[i]>='A'&&g[i]<='Z')
{
c=g[i]-'A';
}
else
{
c=g[i]-'a';
}
if(g[j]>='A'&&g[j]<='Z')
{
d=g[j]-'A';
}
else
{
d=g[j]-'a';
}
if(c-d>0)
{
char f=g[j];
for(int m=j;m>=i+1;m--)
{
g[m]=g[m-1];
}
g[i]=f;
}
}
}
for(int i=0;i<h;i++)
{
if((a[i]<'A'||a[i]>'Z')&&(a[i]<'a'||a[i]>'z'))
{
g=g.substr(0,i)+a[i]+g.substr(i,g.length()-i);
}
}
// }
//}
cout<<g;
}
return(0);
}

查看17道真题和解析