问题 N: 字母排列

xiaoxiao2021-02-28  135

题目描述 编写一个程序,当输入不超过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; }
转载请注明原文地址: https://www.6miu.com/read-67423.html

最新回复(0)