CCF CSP认证考试历年真题 数字排序 C语言实现
2017-10-20 14:14
309 查看
试题编号:201503-2
试题名称:数字排序 时间限制:1.0s 内存限制:256.0MB
问题描述:
问题描述
给定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
评测用例规模与约定1 ≤ n ≤ 1000,给出的数都是不超过1000的非负整数。
分析:
很简单一道题,不过题目要求” 如果两个整数出现的次数一样多,则先输出值较小的 “所以我们用到排序算法时要用稳定排序算法(冒泡排序、插入排序、基数排序、归并排序),不能使用快排,选择排序等不稳定排序。
代码在此:
试题名称:数字排序 时间限制:1.0s 内存限制:256.0MB
问题描述:
问题描述
给定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
评测用例规模与约定1 ≤ n ≤ 1000,给出的数都是不超过1000的非负整数。
分析:
很简单一道题,不过题目要求” 如果两个整数出现的次数一样多,则先输出值较小的 “所以我们用到排序算法时要用稳定排序算法(冒泡排序、插入排序、基数排序、归并排序),不能使用快排,选择排序等不稳定排序。
代码在此:
#include<stdio.h> #include<string.h> /* 201503-2 数字排序 */ int main() { // freopen("input.txt", "r", stdin); int arr[1010]; int v[1010]; int n; scanf("%d", &n); memset(arr, 0, sizeof(arr)); memset(v, 0, sizeof(v)); int i; int temp; for(i = 0; i < n; i ++) { scanf("%d", &temp); arr[temp] ++; // v[arr[temp]] = 1; } int j; for(i = 1000; i > 0; i --) { // if(v[i] == 1) // { for(j = 0; j < 1000; j ++) { if(arr[j] == i) { printf("%d %d\n", j, i); } } // } } return 0; }
相关文章推荐
- CCF CSP认证考试历年真题 数列分段 C语言实现
- CCF CSP认证考试历年真题 图像转换 C语言实现
- CCF CSP认证考试历年真题 日期计算 C语言实现
- CCF CSP认证考试历年真题 炉石传说 C语言实现
- CCF CSP认证考试历年真题 Z字形扫描 C语言实现
- CCF CSP认证考试历年真题 模板生成系统 C语言实现
- CSP认证考试 数字排序 纯C实现
- CSP考试 2016年04月第2题 俄罗斯方块 C语言实现
- CSP考试 2013年12月第5题 I’m stuck! C语言实现
- CSP考试 2013年12月第1题 出现次数最多的数 C语言实现
- ccf认证考试真题-201609-2-火车购票题解
- CSP考试 2015年03月第3题 节日 C语言实现
- CSP考试 2015年12月第1题 数位之和 C语言实现
- 2016 CCF-CSP 计算机职业资格认证考试 解题报告
- CSP考试 2014年03月第1题 相反数 C语言实现
- CCF CSP 认证真题部分题解
- CSP计算机认证考试 图像转换 纯C实现
- CSP考试 2015年03月第5题 C语言实现
- CSP考试 2014年12月第4题 C语言实现
- 2018年9月CSP CCF认证考试 经验