题目内容:
编写一个程序,当输入英文字符串时,计算机将这个句子中的英文字母按字典字母顺序重新排列,排列后的单词的
长度要与原始句子中的长度相同,并且要求只对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;
}