英文字母的排序

题目内容:
编写一个程序,当输入英文字符串时,计算机将这个句子中的英文字母按字典字母顺序重新排列,排列后的单词的
长度要与原始句子中的长度相同,并且要求只对A到Z的字母重新排列,其它字符保持原来的状态。
输入描述
一个字符串,包括大写英文字母,以及其他字符

输出描述
字符串的重新排列,只是大写字母按字典顺序,其他字母保持原位

输入样例
THE PRICE OFBREAD IS ¥1 25 PER POUND

输出样例
ABC DDEEE EFHIINO OP ¥1 25 PPR RRSTU

思路:
仅对字母进行排序,其他保持不变。

代码:

#include <cstdio>
#include <cstring>

int main()
{
    char s[100], temp;
    int i, j, l;
    gets(s);
    l = strlen(s);
    for(i = 0; i < l; i++)
    {
        for(j = i + 1; j < l; j++)
        {
            if(s[i] >= 'A' && s[i] <= 'Z' && s[j] >= 'A' && s[j] <= 'Z')
            {
                if(s[j] < s[i])
                {
                    temp = s[i];
                    s[i] = s[j];
                    s[j] = temp;
                }
            }
        }
    }
    puts(s);
    return 0;
}
 

猜你喜欢

转载自blog.csdn.net/weixin_43766843/article/details/84401900
今日推荐