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