• CPA招新Ⅱ


    新学期开始啦,我们CPA是2019年6月成立的,创建时有20位元老。现在需要招新啦,每年新学期社团服务中心会组织百团大战。我们CPA迎来第一次招新,我们很期待迎来新成员。

    每天都有元老去招新,每招到一个萌新,招新人会在纸上写一个大写字母。CPA共有竞赛部、宣传部、办公部、组织部四个部门。我们规定A代表竞赛部(Competition department),B代表宣传部(Propaganda Department)、C代表办公部(Office)、D组织部(Organization Department)。社团招新后需要统计每一个部门有多少人?有一天会长突然来了,需要你给他一份部门人员名单,名单需要根据人数从大到小排序的,聪明的你会直接写一个程序给会长,让他直接使用程序排序。

    输入格式:

    输入一行字符串,字符串长度不大于10000。

    输出格式:

    如果人数相同,按照字典序从小到大排序,每输出一个部门换行。

    输入样例:

    AABBCCCDDAA
    

    输出样例:

    1. Competition department 4 people!
    2. Office 3 people!
    3. Organization Department 2 people!
    4. Propaganda Department 2 people!

    备注

    也许有人调皮不止ABCD四个字符,真实人数以ABCD为准。

    //典型的结构体排序问题,这里的结构体值需要另外赋予,通过数组对各个字符的统计结果赋给a,而这里的字符需要手动赋予,最后排序就行。 

    1. #include<bits/stdc++.h>
    2. using namespace std;
    3. struct xx{
    4.     int a;
    5.     string b;
    6. }s[10005];
    7. bool cmp(xx m,xx n){
    8.     if(m.a==n.a)return m.b<n.b;//如果个数相同,按字符的字典排序,就是从小到大
    9.     return m.a>n.a;//从大到小排序
    10. }
    11. int main(){
    12.     string x;int i,y[4]={0};//数组初始化
    13.     getline(cin,x);
    14.     for(i=0;i<x.size();i++){
    15.         if(x[i]=='A')y[0]++;
    16.         if(x[i]=='B')y[1]++;
    17.         if(x[i]=='C')y[2]++;
    18.         if(x[i]=='D')y[3]++;
    19.     }
    20.     for(i=0;i<4;i++)
    21.         s[i].a=y[i];
    22.    s[0].b="Competition department ";
    23.    s[1].b="Propaganda Department ";
    24.    s[2].b="Office ";
    25.    s[3].b="Organization Department ";
    26.     sort(s,s+4,cmp);
    27.     for(i=0;i<4;i++){
    28.         cout<<s[i].b<<s[i].a<<" people!\n";
    29.     }
    30.     return 0;
    31. }

  • 相关阅读:
    拥抱 Spring 全新 OAuth 解决方案
    机器学习-01-课程目标与职位分析
    SqlUtils 使用
    Unity和微软建立云合作伙伴关系,利用Azure赋能全球的创作者
    嵌入式养成计划-42----QT 创建项目--窗口界面--常用类及组件
    【python】python面向对象——类的使用
    学 Go,最常用的技能是什么?打日志
    BigCodeBench: 继 HumanEval 之后的新一代代码生成测试基准
    Nginx 同一端口 同时支持http与https 协议
    go 指针
  • 原文地址:https://blog.csdn.net/m0_51863774/article/details/127763467