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

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

 

输入格式:

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

输出格式:

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

输入样例:

8

10 2 0 5 7 2 5 2

输出样例:

0:1

2:3

5:2

7:1

10:1

一、   步骤

利用大小为50的数组,初始化为0,数组的下标作为工龄的大小,当读入一个工龄,对应的数组下标位置的值+1,最后遍历数组,数组值为0的不输出。

二、   代码

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i, x, n;

scanf("%d", &n);

int s[51] = {0};

for(i = 0; i < n; i ++) {

scanf("%d", &x);

s[x] ++;

}

for(i = 0; i <= 50; i ++) {

if(s[i]) {

printf("%d:%d\n", i, s[i]);

}

}

return 0;

}

原文地址:https://www.cnblogs.com/huqian477/p/huqian.html

时间: 2024-08-06 03:55:32

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

10-排序4 统计工龄

非常简单的一题,运用桶排序理解法,员工数很大,工龄范围在[0, 50]. 以工龄创建每个桶,将每个员工工龄归为不同桶. 给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工. 输入格式: 输入首先给出正整数N(≤10?^5??),即员工总人数:随后给出N个整数,即每个员工的工龄,范围在[0, 50]. 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”.每项占一行.如果人数为0则不输出该项. 输入样例: 8 10 2 0 5 7 2 5 2 输出样例: 0:1

PTA 10-排序4 统计工龄 (20分)

题目地址 https://pta.patest.cn/pta/test/15/exam/4/question/721 5-13 统计工龄   (20分) 给定公司NN名员工的工龄,要求按工龄增序输出每个工龄段有多少员工. 输入格式: 输入首先给出正整数NN(\le 10^5≤10?5??),即员工总人数:随后给出NN个整数,即每个员工的工龄,范围在[0, 50]. 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:"工龄:人数".每项占一行.如果人数为0则不输出该项. 输入样

在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM

题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在"D:\java"文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 myPackage 包中创建一个YMD类,该类具有计算今年的年份.可以输出一个带有年月日的字符串的功能.设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名.年龄.出生日期.程序使用YMD的方法来计算年龄. 主要考包的运用 用到java.util.Calendar

c#编程:给定一个正整数求出是几位数并逆序输出

<span style="color:#FF0000;">第一步:把输入的数字转为字符串n.ToString() 第二步:求出字符串的长度即为正整数的位数 第三步:从后向前逆序输出</span> 附代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; //给一个正整数, //要求:一.求它是几位数,二.逆序打印出各位数字. namespa

2017.4.20实验三:5、写一个递归函数,将给定的字符串按逆序输出。(要求逆序的字符串在主调函数中输出)

#include <iostream>using namespace std;void Invert(char arr[],int &i,char str[]) { if(arr[i]=='\0') return; else { str[i]=arr[i]; i++; Invert(arr,i,str); }}int main () { char arr[]="abcdef"; int count=0,i; char str[20]; Invert(arr,coun

数据结构与算法题目集(中文)——5-13 统计工龄 (20分)——桶排序

给定公司NN名员工的工龄,要求按工龄增序输出每个工龄段有多少员工. 输入格式: 输入首先给出正整数NN(\le 10^5≤10?5??),即员工总人数:随后给出NN个整数,即每个员工的工龄,范围在[0, 50]. 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:"工龄:人数".每项占一行.如果人数为0则不输出该项. 输入样例: 8 10 2 0 5 7 2 5 2 输出样例: 0:1 2:3 5:2 7:1 10:1  时间限制:400ms 内存限制:64MB 代码长度限制

7-13 统计工龄

7-13 统计工龄(20 分) 给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工. 输入格式: 输入首先给出正整数N(≤10?5??),即员工总人数:随后给出N个整数,即每个员工的工龄,范围在[0, 50]. 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:"工龄:人数".每项占一行.如果人数为0则不输出该项. 输入样例: 8 10 2 0 5 7 2 5 2 输出样例: 0:1 2:3 5:2 7:1 10:1思路:开一个比50大的数组a,然后每进来一个数t

[Hash散列] 7-1 统计工龄 (15分)

给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工. 输入格式: 输入首先给出正整数N(N≤105),即员工总人数:随后给出N个整数,即每个员工的工龄,范围在[0, 50]. 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”.每项占一行.如果人数为0则不输出该项. 输入样例: 8 10 2 0 5 7 2 5 2 输出样例: 0:1 2:3 5:2 7:1 10:1 思路:哈希散列存进一维数组,然后就输出吧! 1 #include<iostream> 2

第八章学习小结

第八章数据结构小结数据结构这一章主要讲的是关于排序的各种方法,由于不同应用对于时间复杂度与空间复杂度的要求不同,用的排序方法也不同,主要的排序方法有插入排序,交换排序,选择排序与归并排序,其中插入排序分为直接插入排序,间接插入排序与希尔排序,交换排序分为冒泡排序与快速排序,选择排序分为简单选择排序与堆排序,而归并排序则主要用于两个有序表的合成.以上的排序方法都属于是内部排序,而对于一些更大量的数据就要涉及到外部排序,下面是关于排序的应用习题. 给定公司N名员工的工龄,要求按工龄增序输出每个工龄段