当前位置: 首页 > news >正文

[c]统计数字

题目描述

某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

输入描述:

第1行是整数n,表示自然数的个数。
第2~n+1行每行一个自然数。

输出描述:

输出m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

示例1

输入

8
2
4
2
4
5
100
2
100

输出

2 3
4 2
5 1
100 2

备注:

40%的数据满足:1 ≤ n ≤ 1000
80%的数据满足:1 ≤ n ≤ 50000
100%的数据满足:1 ≤ n ≤ 200000,每个数均不超过1500000000(1.5*109)

假如用冒泡排序,本题会运行超时,所以我们用qsort函数快速排序

下面附上代码

#include<stdio.h>
#include<stdlib.h>
int compare(const void*pa,const void*pb)
{int *a=(int*)pa;int *b=(int*)pb;return *a-*b;
}
int main()
{int n;int tmp;int num=1;scanf("%d",&n);int arr[n];for(int i=0;i<n;i++){scanf("%d",&arr[i]);}qsort(arr,n,sizeof(int),compare);for(int i=0;i<n;i++){if(arr[i]==arr[i+1]){num++;}else{printf("%d %d\n",arr[i],num);num=1;}}return 0;
}

http://www.lryc.cn/news/268039.html

相关文章:

  • 采用ODP.NET 批量进行数据同步
  • 【vue滚动条插件vuescroll】【vue自定义滚动条】
  • python 1200例——【8】冒泡排序
  • 在PyTorch中设置随机数生成器的种子值
  • 用手机做无人直播怎么做?
  • 【zookeeper经典应用实战】
  • 12月25日作业
  • React学习计划-React16--React基础(五)脚手架创建项目、todoList案例、配置代理、消息订阅与发布
  • C语言中switch语句中的case后()
  • 【RocketMQ笔记02】安装RocketMQ可视化工具rocketmq-dashboard
  • AutoSAR(基础入门篇)2.2-AutoSAR架构中的Ports类型与Runnables可运行实体
  • 【Unity】GPU骨骼动画 渲染性能开挂 动画合批渲染 支持武器挂载
  • 打开相机失败 出现错误的原因
  • 什么是阿里云负载均衡SLB?
  • Mybatis三 | 动态SQL
  • 信号与槽QT4和QT5的区别
  • K8S 搜集java应用pod重启前现场 —— 筑梦之路
  • php5.6安装mongo扩展
  • 简析SoBit 跨链桥图文教程
  • C#与php自定义数据流传输
  • redis和数据库的同步问题
  • Flink系列之:深入理解ttl和checkpoint,Flink SQL应用ttl案例
  • Wails中js调用go函数(1种go写法,2种js调用方法)
  • 【我与java的成长记】之面向对象的初步认识
  • 面试题之二HTTP和RPC的区别?
  • 初试Kafka
  • SuperMap Hi-Fi 3D SDK for Unity基础开发教程
  • Upload-lab(pass1~2)
  • Linux:查询当前进程或线程的资源使用情况
  • unityc用vs2017介绍