• ccf数字排序


    问题描述
      给定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的非负整数。

    思路:数组下标作为输入的整数,数组元素作为其下标整数出现的次数。

    关键在输出时的方法,先倒序循环出现的次数最大出现次数不过1000次,再从小到大循环下标,有出现次数与数组元素相同的就输出 下标和出现次数。这样就满足了题中要求。

    #include <iostream>
    #include <string.h>
    
    using namespace std;
    
    int main() {
    	int a[1005];
    	int n,num;
    	int i,j;
    	memset(a,0,sizeof(int)*1005);
    	cin >> n;
    	for (i=0;i<n;i++){
    		cin >> num;
    		a[num]++;
    	}
    	for (i=1004;i>0;i--) 
    		for (j=0;j<1005;j++) 
    			if (a[j] == i)
    				cout << j << " " << a[j] << endl;
    	return 0;
    }
    

      

  • 相关阅读:
    RAID中的Stripe size对性能的影响?
    TCP segmentation offload
    传统网络配置命令与IP高级路由命令
    WebTrends Log Analyzer
    linux使用vi中文乱码的解决办法
    链接静态库的顺序问题
    tcpdump命令格式
    怎样取得文件行数
    Tcpdump命令的使用与示例——linux下的网络分析
    Linux系统面面观 PROC文件系统详细介绍
  • 原文地址:https://www.cnblogs.com/curo0119/p/8577042.html
Copyright © 2020-2023  润新知