[c]统计数字

2023-12-27 18:36
文章标签 统计数字

本文主要是介绍[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;
}

这篇关于[c]统计数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/543992

相关文章

python实战实例:统计数字字符个数输出亲朋字符串

1.统计数字字符个数—题目描述 输入一行字符,统计出其中数字字符的个数。 输入格式 一行字符串。 输出格式 输出为 1 行,输出字符串里面数字字符的个数。 输入输出样例 输入 #1 Today is 2021-03-27 输出 #1 8 char=input()x=0for i in char:if i.isdigit():x=x+1print(x) 要点: isa

LeetCode 题3:统计数字

题目描述: 计算数字k在0到n中的出现的次数,k可能是0~9的一个值 例如n=12,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]中,我们发现1出现了5次 (1, 10, 11, 12) 思路一:我们可以用最简单的办法先尝试一下,遍历1到n中间的每个整数,对每个整数从低位到高位依次检查,如果有k出现则计数器自加。 思路一最大的问题就是效率,当n非常

统计数字(信息学奥赛一本通-T1239)

【题目描述】 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5∗10^9)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 【输入】 第一行是整数 n,表示自然数的个数; 第2~n+1每行一个自然数。 【输出】 包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分

B2109 统计数字字符个数

统计数字字符个数 题目描述 输入一行字符,统计出其中数字字符的个数。 输入格式 一行字符串,总长度不超过 255 255 255。 输出格式 输出为 1 1 1 行,输出字符串里面数字字符的个数。 样例 #1 样例输入 #1 Today is 2021-03-27 样例输出 #1 8 方法1 解题思路: 本题要求统计给定字符串中数字字符的个数。我们可以遍历

小写转大写输出,并统计数字、大写字母、小写字母的个数

键盘输入数字、大写字母、小写字母的混合串(以回车结束,100个以内), 将其中的小写字母转换为大写字母后显示到CRT上 data segmentmess db "please input", 0dh,0ah,'$'buf db 101 db ?db 101 dup (0)data endscode segmentassume cs:code,ds:data,es:datasta

POJ 3286 How many 0's? / 2282 The Counting Problem 排列组合统计数字

比如算4123中有多少个2   按位统计,,,先算各位,,个位是2的情况有413种,,,因为各位左边可以0~412,,,而右边没有数字,,, 然后是十位,,,十位是2的有41*10 + 1*4种,,当左边从0~40时,,,右边可以从0~9,,,而左边为41时,,右边只能从0~3 然后是百位,,,,百位有4*100种,,,,即左边从0~3,,右边从0~99 千位有  1*1000,,,左边

Python | 利用字典,统计数字出现的个数

① 计数法n=int(input())s={}for i in range(n):x = int(input())if x in s.keys(): # 判断输入的值是否为s字典中的键s[x]+=1 # 如果存在,则将对应键的值+1else:s[x]=1 # 不存在,添加键,并将键的值赋值为1key = list(s.keys()) key.

5233: 【J1】【map】统计数字

题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5×109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 输入 共n+1行。 第一行是整数n,表示自然数的个数; 第2至n+1每行一个自然数。 输出 共m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。 每行输出

洛谷-P1097 [NOIP2007 提高组] 统计数字(map运用)

原题链接:https://www.acwing.com/problem/content/492/ [NOIP2007 提高组] 统计数字 题目描述 某次科研调查时得到了 n n n 个自然数,每个数均不超过 1.5 × 1 0 9 1.5 \times 10^9 1.5×109。已知不相同的数不超过 1 0 4 10^4 104 个,现在需要统计这些自然数各自出现的次数,并按照自然数从

字符串---统计数字个数

* / * Copyright (c) 2011, 烟台大学计算机学院  * All rights reserved. * 作 者: 孙培培 * 完成日期:2012 年 12月17 日    * 版 本 号:v1.0  * 输入描述: 输入字符串,统计数字个数。 * 问题描述:略 * 程序输出:输出每个数字出现的个数  * 问题分析:定义一位数组输出 */