您的位置:首页 > 编程语言 > C语言/C++

问题 N: 字母排列

2017-08-06 23:19 211 查看
题目描述

编写一个程序,当输入不超过200个字符组成的英文文字时,计算机将这个句子中的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度 相同。例如:

输入:

THE PRICE OFBREAD IS ¥1 25 PER POUND

输出:

ABC DDEEE EFHIINO OP ¥1 25 PPR RRSTU

并且要求只对A到Z的字母重新排列,其它字符保持原来的状态。

输入

输出

样例输入

THE PRICE OF BREAD IS $125 PER POUND

样例输出

ABC DDEEE EF HIINO OP $125 PPR RRSTU

题解:只对字母冒泡排序

AC代码:

#include <iostream>

using namespace std;
char a[210];
int main()
{
string s;
getline(cin,s);
for(int i=0;i<s.size();i++){
a[i]=s[i];
}
for(int i=0;i<s.size();i++){
for(int j=i+1;j<s.size();j++){
if(isalpha(a[i])&&isalpha(a[j])){
if(a[i]>a[j]){
char temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
for(int i=0;i<s.size();i++){
cout<<a[i];
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  湖南大学 C++