前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >信息学奥赛C++语言: 直方图

信息学奥赛C++语言: 直方图

作者头像
用户7886150
修改2021-02-11 18:16:48
6730
修改2021-02-11 18:16:48
举报
文章被收录于专栏:bit哲学院

参考链接: C++ fmax()

【题目描述】 给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里最大的数。 假设 Fmax(Fmax<10000)是数组里最大的数,那么我们只统计{0,1,2…Fmax}里每个数出现的次数。 

【输入】 第一行n是数组的大小。1 ≤ n ≤ 10000。 紧接着一行是数组的n个元素。 

【输出】 按顺序输出每个数的出现次数,一行一个数。如果没有出现过,则输出0。 对于例子中的数组,最大的数是3,因此我们只统计{0,1,2,3}的出现频数。 

【输入样例】 5 1 1 2 3 1 

【输出样例】 0 3 1 1 

代码 

#include<cstdio>

using namespace std;

int a[1001],b[1001],n,max;

int main()

{

    scanf("%d",&n);

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

       {

            scanf("%d",&a[i]);

            b[a[i]]++;

     }

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

       {

          if(a[i]>max)

             max=a[i];

     }

    for(int i=0;i<max;i++)  

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

    return 0;

}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档