zoukankan      html  css  js  c++  java
  • 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;
    }
    

      

  • 相关阅读:
    一种Revit多专业协同方式
    现实猛于虎
    Revit2014如何隐藏保温层
    无能的愤怒
    Revit可载入族有何意义
    利用bentley view将Revit模型输出为3D PDF文档
    Revit中创建分段剖面视图
    Revit2014机电系统类型BUG
    sketchup插件管理器速图外挂SuTool
    优秀DWG看图软件尧创CAD
  • 原文地址:https://www.cnblogs.com/curo0119/p/8577042.html
Copyright © 2011-2022 走看看