1023-字符串排序

描述

有一些ACM组成的字符串,将其按字符A排序。

输入

一组测试数据,输入数据由若干行组成,每行是字符ACM组成的字符串。

输出

对所有输入的数据,先按字符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; 

}  

  

你可能感兴趣的:(字符串)