字符排序

来源:互联网 发布:网络翻唱女歌手排行榜 编辑:程序博客网 时间:2024/05/02 19:36

描述

给定一个字符串str和两个字符a,b,将str中ASCII码处于a,b之间(含a b)的字符按ASCII码从大到小排序,其他字符位置不变.输出排序后的字符串。

输入

输入只有两行:

第一行给出一个字符串str

第二行给出两个字符a,b,以一个空格间隔

 

字符串长度不大于3000。

输出

输出只有一行,给出排序后的字符串。

样例输入

How many constest will be held during 2010 ?
0 9

样例输出

How many constest will be held during 2100 ?

#include<iostream>#include<string>using namespace std;int main(){string str;char a,b;struct s{char value;int lead;}temp[3000];int i,len,j,sum;getline(cin,str);len=str.length();scanf("%c %c",&a,&b);for(i=0,j=0;i<len;i++){if(str[i]>=a && str[i]<=b){temp[j].value=str[i];temp[j].lead=i;j++;}}sum=j;for(j=0;j<sum;j++){for(i=0;i<sum-j-1;i++){if(temp[i].value<temp[i+1].value)swap(temp[i].value,temp[i+1].value);}}for(i=0;i<sum;i++)str[temp[i].lead]=temp[i].value;cout<<str<<endl;return 0;}


0 0
原创粉丝点击