案例7-3 统计工龄 (20 分)(简单)

给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。

输入格式:
输入首先给出正整数N(≤10​5​​ ),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。

输出格式:
按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。

在这里插入图片描述
题目思路:
存储数据的时候让hashtable[]数组的下标与要存的数据保持一致,当有相同数据加入进来,让该下表对应的值++即可。

#include<iostream>
using namespace std;

int main()
{
    
    
	int hashtable[51] = {
    
    0};	//这里不能忘记初始化
	int n , t;
	cin >> n;
	for (int i = 0; i < n; i++)
	{
    
    
		cin >> t;
		hashtable[t]++;			//核心
	}

	for (int i = 0; i <= 50; i++)
	{
    
    
		if (hashtable[i])
		{
    
    
			cout << i << ":" << hashtable[i] << endl;
		}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/xdg15294969271/article/details/113972485