列表

详情


NC214297. 统计数据

描述

乎乎得到了一组整数,他想知道其中每个整数出现的次数,请帮他编程实现。

输入描述

输入两行,第一行,为一个整数n,范围为(3~1000),
第二行,输入n个整数,每个整数的范围为(1~10000),用空格隔开。

输出描述

输出为n行,按整数大小从高到低输出其出现的次数,每行输出两个整数,为出现的整数和对应出现的次数,用“-”线隔开。

示例1

输入:

7
3 2 3 4 3 2 1

输出:

4-1
3-3
2-2
1-1

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(clang11) 解法, 执行用时: 2ms, 内存消耗: 372K, 提交时间: 2020-11-27 19:15:04

#include<stdio.h>
int main()
{
	int a[10001]={0},n,b;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
	scanf("%d",&b);
	a[b]++;
	}
	for(int i=10000;i>=1;i--)
	if(a[i]!=0) printf("%d-%d\n",i,a[i]);
}

C++(clang++11) 解法, 执行用时: 2ms, 内存消耗: 380K, 提交时间: 2020-11-27 18:18:27

#include<stdio.h>
int main(){
	int n,a[20000]={0},t;
	scanf("%d",&n);
	while(n--){
		scanf("%d",&t);
		a[t]++;
	}
	for(int i=19999;i>=0;i--){
		if(a[i]>0)
		printf("%d-%d\n",i,a[i]);
	}
}

上一题