CCF 201503-2 数字排序

CCF 201503-2 数字排序

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

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

 1 #include<iostream>
 2 #include<cstring>
 3 #include<vector>
 4 using namespace std;
 5 int arr[1001];///数据不超过1000 
 6 
 7 int main()
 8 {
 9     int n;
10     while(cin>>n)
11     {
12         int temp; 
13         memset(arr,0,sizeof(arr));
14         for(int i=0;i<n;i++)
15         {
16             cin>>temp;
17             arr[temp] ++;
18         }
19         ///最多的次数不超过1000 
20         for(int i=1000;i>0;i--)
21         for(int j=0;j<=1000;j++)
22         {
23             if(arr[j] == i)
24                 cout<<j<<" "<<i<<endl;
25         }
26     }
27     
28     return 0;
29 }
原文地址:https://www.cnblogs.com/yxh-amysear/p/8480569.html