题目描述
编写一个程序,当输入不超过200个字符组成的英文文字时,计算机将这个句子中的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度 相同。例如:
输入:
THE PRICE OFBREAD IS ¥125 PER POUND
输出:
ABC DDEEE EFHIINO OP ¥125 PPR RRSTU
并且要求只对A到Z的字母重新排列,其它字符保持原来的状态。
样例代码
#include <iostream>
#include <string>
using namespace std;
int pd(char n){
if (n>=65&&n<=90) return 1;
else return 0;
}
void exchange2(char &a,char &b){
char temp=a;
a=b;
b=temp;
}
int main(){
string san;
getline(cin,san);
int l=san.size();
for (int i=0;i<l;i++){
if (pd(san[i])){
for (int j=i+1;j<l;j++){
if (pd(san[j])){
if (san[i]>san[j]) exchange2(san[i],san[j]);
}
}
}
}
for (int i=0;i<l;i++) cout<<san[i];
return 0;
}