1023-字符串排序
描述
有一些A、C、M组成的字符串,将其按字符A排序。
输入
一组测试数据,输入数据由若干行组成,每行是字符A、C或M组成的字符串。
输出
对所有输入的数据,先按字符A的个数进行升序排序,如果字符A的数量相等,再按出现的先后顺序排序,每行输出一个字符串。
样例输入
ACM
MCA
AACAAMMM
AACCMM
CMAAMMMMMM
AAA
样例输出
ACM
MCA
AACCMM
CMAAMMMMMM
AAA
AACAAMMM
#include<iostream>
#include<algorithm>
#include<string>
#define MAXNUM 100
using namespace std;
string arr[MAXNUM];
int index=-1;
bool compare(string str1,string str2)
{
int num1=0,num2=0;
for(int i=0;i<str1.length();i++)
{
if(str1[i]=='A')
{
num1++;
}
}
for(int i=0;i<str2.length();i++)
{
if(str2[i]=='A')
{
num2++;
}
}
return num1<num2;
}
int main()
{
string temp;
while(cin>>temp)
{
arr[++index]=temp;
}
sort(arr,arr+index+1,compare);
for(int i=0;i<=index;i++)
{
cout<<arr[i]<<endl;
}
return 0;
}

浙公网安备 33010602011771号