题解 | #字符串排序#

字符串排序

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;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务