题解 | #字符串排序#
字符串排序
http://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
把英文字母单独提出来排序,用初32得到的余数比较大小写的大小
#include <string.h>
int main(void)
{
int i=0;int j=0;int len=0;int temp=0;
char str[1002]={0};
char yw[1002]={0};
fgets(str,sizeof(str),stdin);
while(str[i]!='\n')
{
if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))
{
yw[j]=str[i];
j++;
}
i++;
}
len=j;
for(i=0;i<len-1;i++)
{
for(j=0;j<len-i-1;j++)
{
if(yw[j]%32>yw[j+1]%32)
{
temp=yw[j];
yw[j]=yw[j+1];
yw[j+1]=temp;
}
}
}
j=0;
for(i=0;i<strlen(str);i++)
{
if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))
{
printf("%c",yw[j]);
j++;
}
else
printf("%c",str[i]);
}
return 0;
}