3168:将给定的字符串排列为先Z再O再J再7,然后是剩余部分。
Sample Input
t7ZJ7OhO7B7O7irZtOhZdayJ77
Sample Output
ZZZOOOOJJ7777777thBirthday
思路:实际上没有排序,先统计,再过滤了一次。
Sample Input
t7ZJ7OhO7B7O7irZtOhZdayJ77
Sample Output
ZZZOOOOJJ7777777thBirthday
思路:实际上没有排序,先统计,再过滤了一次。
#include<iostream>
using namespace std;
#include<string.h>
char str[1001];
int main()
{
int countZ;
int countO;
int countJ;
int count7;
while(cin>>str)
{
countZ = 0;
countO = 0;
countJ = 0;
count7 = 0;
for(int i=0;i<strlen(str);i++)
{
if(str[i]=='Z')
countZ++;
else if(str[i]=='O')
countO++;
else if(str[i]=='J')
countJ++;
else if(str[i]=='7')
count7++;
}
for(int i = 0;i<countZ;i++)
cout<<'Z';
for(int i = 0;i<countO;i++)
cout<<'O';
for(int i = 0;i<countJ;i++)
cout<<'J';
for(int i = 0;i<count7;i++)
cout<<'7';
for(int i=0;i<strlen(str);i++)
{
if(!(str[i]=='Z'||str[i]=='O'||str[i]=='J'||str[i]=='7'))
cout<<str[i];
}
cout<<endl;
}
}