问题描述
  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。
输入格式
  输入的第一行包含一个整数n,表示给定数字的个数。
  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。
输出格式
  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。
样例输入
12
5 2 3 3 1 3 4 2 5 2 3 5
样例输出
3 4
2 3
5 3
1 1
4 1
#include<bits/stdc++.h>
using namespace std;
struct group{ //结构体
int num;
int c;
};
bool cmp(group a,group b) //排序方法
{
if(a.c==b.c)
{
return a.num<b.num;
}
return a.c>b.c;
}
int main()
{
int n;
cin>>n;
group g[1001];
for(int i=0;i<n;i++)
{
g[i].c=1;
g[i].num=-1;
}
int l=0;
for(int i=0;i<n;i++) //每次输入的数,如果已经在结构体里,将其出现次数加一,如果没出现,结构体长度加一,将其加入到结构体
{
int tnum;
cin>>tnum;
int flag=0; //用来标记结构体中是否有当前数值
for(int j=0;j<l;j++)
{
if(g[j].num==tnum)
{
flag=1;
g[j].c++;
//break;
}
}
if(flag==0)
{
g[l].num=tnum;
l++;
}
} sort(g,g+l,cmp);
for(int i=0;i<l;i++)
{
cout<<g[i].num<<' '<<g[i].c<<endl;
}
return 0;
}

  

最新文章

  1. IDF-CTF-牛刀小试-啥?
  2. Azure ARM (4) 开始创建ARM Resource Group并创建存储账户
  3. 《Thinking in Java》十七章_容器深入研究_练习13(Page484)
  4. SSH整合(1)异常
  5. 通过DB_LINK按照分区表抽取数据
  6. BZOJ_1625_ [Usaco2007_Dec]_宝石手镯_(01背包)
  7. Extjs4+PHP MVC模式一(入门)
  8. spring里的三大拦截器
  9. redux源码图解:createStore 和 applyMiddleware
  10. 手机号读取城市数据库2018年3月excel版
  11. MAC 下 Excel打开UTF-8格式的文件乱码
  12. angular6新建项目
  13. Docker 使用Docker知识简易部署一个LNMP平台
  14. javascript 的01
  15. h5内容超出可以滑动展示的处理,iscroll的使用
  16. jersey2+freemarker+spring3的集成
  17. SpringBoot中redis的使用介绍
  18. Spark部署
  19. [Python] 分段线性插值
  20. appium 元素定位方法汇总

热门文章

  1. BBS项目(二): 登录功能 首页导航条搭建 首页主体部分 个人站点页面搭建 文章分类与标签 日期归档
  2. Pytorch基础-张量基本操作
  3. Python自动化操作sqlite数据库
  4. Kubernetes(k8s)配置文件管理:ConfigMap
  5. 【分析笔记】DW7888 马达驱动芯片待机模式漏电流过高的问题
  6. 单细胞转录组实战01: CellRanger7定量
  7. 11月18日内容总结——同步、异步与阻塞、非阻塞的概念、创建进程的多种方式及multiprocessing模块、进程间的数据隔离和IPC机制(队列)、生产者消费者模型、守护进程、僵尸进程、孤儿进程和多进程错乱问题
  8. 构建api gateway之 如何给openresty打patch
  9. 【Windows】ip地址修改器v5.0.5.4 修改ip更简便
  10. 郁金香逆向 2.便利怪物对象数组 纯C写法