题目描述
给你 10 分钟时间,根据上排给出的十个数,在其下排填出对应的十个数。要求下排每个数都是先前上排那十个数在下排出现的次数。
上排的十个数如下:
【0,1,2,3,4,5,6,7,8,9】
示例
举一个例子:
- 数值:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- 分配:6, 2, 1, 0, 0, 0, 1, 0, 0, 0
0 在下排出现了 6 次,1 在下排出现了 2 次,2 在下排出现了 1 次,3 在下排出现了 0 次……以此类推。
参考实现
#include <iostream>
#include <vector>
using namespace std;
/*by hk 15-7-1*/
int main(int argc, char *argv[])
{
vector<int> data;
int Num[9999];
memset(Num,0,9999*4);
int n;
while(cin>>n)/*for 数据安全*/
{
data.push_back(n);
}
for(vector<int >::iterator it=data.begin();it!=data.end();it++)
{
++Num[*it];
}
for(int i=0;i<9999;i++)
{
if(Num[i]!=0)cout<<Num[i]<<" ";
}
return 0;
}