CCF-训练50题-NO.3-数字排序问题
来源:互联网 发布:网页游戏php源码 编辑:程序博客网 时间:2024/06/14 07:48
题目描述
给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。
输入
输入的第一行包含一个整数n,表示给定数字的个数。
第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。
输出
输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。
代码
#include <iostream>using namespace std;int main(){int n;cin>>n;//表示给定数字的个数。char *p=new char[n];char *print=new char[n*2];for (int i=0;i<n;i++) {cin>>p[i];print[i*2+0]='a';print[i*2+1]='a'; } int pointer=0; for (int i=0;i<n;i++){ int w=0; int z=0; for (int j=0;j<=pointer;j++){ if (print[j*2+0]==p[i]) { print[j*2+1]++;w++;} } if (w==0){ print[pointer*2+0]=p[i]; print[pointer*2+1]='1'; pointer++; } } for (int i=0;i<pointer+1;i++) for (int j=i+1;j<pointer+1;j++){ if ((print[i*2+1]<print[j*2+1])||((print[i*2+1]==print[j*2+1])&&(print[i*2+0]>print[j*2+0]))){ char temp1=print[i*2+1]; char temp0=print[i*2+0]; print[i*2+1]=print[j*2+1]; print[i*2+0]=print[j*2+0]; print[j*2+1]=temp1; print[j*2+0]=temp0; } } for (int i=0;i<=pointer;i++) { if(print[i*2+0]!='a'){ cout<<print[i*2+0]<<" "<<print[i*2+1]-'0'; if (i<pointer) cout<<endl; }}return 0;}
阅读全文
0 0
- CCF-训练50题-NO.3-数字排序问题
- CCF-训练50题-NO.16-字符串数字置换
- CCF-训练50题-NO.1-数塔问题
- CCF-训练50题-NO.2-图像旋转问题
- CCF-训练50题-NO.4-相邻数对问题
- CCF-训练50题-NO.6-字符串匹配问题
- CCF-训练50题-NO.7-日历问题
- CCF-训练50题-NO.9-约瑟夫问题
- CCF-训练50题-NO.5-画图
- CCF-训练50题-NO.13-数码管
- CCF-训练50题-NO.8-生理周期
- CCF-训练50题-NO.10-恺撒Caesar密码
- CCF-训练50题-NO.11-身份证校验
- CCF-训练50题-NO.12-多项式加法
- CCF-训练50题-NO.14-字母排列
- CCF-训练50题-NO.15-选美比赛
- CCF-训练50题-NO.17-写出来吧
- CCF-训练50题-NO.18-成绩大排队
- java 网络流 TCP Socket和SeverSocket 上传文件(字节流)
- Tensorflow一些常用基本概念与函数(1)
- Pandas 十分钟入门
- Java輸入数字反转輸出改進版
- postman测试接口出现415报错
- CCF-训练50题-NO.3-数字排序问题
- 最后的时光⑤
- matlab 环境下二进制文件操作
- java07笔记
- restful api实现信息隐藏术(txt to bmp)
- selenium中如何定位伪元素
- INFJ职业规划:27岁女孩如何逆袭成为自由职业者
- pycharm同时使用python2.7和python3.5设置方法
- recv,write,send,read,recvfrom,sendto区别,详解