zoukankan      html  css  js  c++  java
  • 课堂作业------找水王(2)

    题目要求:

     随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

    设计思路:

    1、输入总帖子数n

    2、定义map函数,map<a,b> a表示贴子ID,b表示该ID有多少贴子。

    3、依次对map中的b赋值为0.

    4、设置一个循环,依次对相同ID贴子计数,进行b++操作。

    5、b/n与1/4进行比较,找出大于1/4的帖子,该贴子的ID就是小水王

    源代码:

    #include<iostream>
    #include<map>
    using namespace std;
    
    int main()
    {
        map<int,int> message;
        double IDNum[100];                   //存放帖子ID
        double n;                             //帖子数量
        cout<<"请输入帖子数量:"<<endl;
        cin>>n;
        cout<<"请输入帖子ID:"<<endl;
        for(int i=0;i<n;i++)
        {
            cin>>IDNum[i];                      //输入帖子ID
        }
        for(int i=0;i<n;i++)
        {
            message[IDNum[i]]=0;               //给每个帖子的个数符初值0
        }
        for(int i=0;i<n;i++)
        {
            message[IDNum[i]]++;               //帖子个数加1
        }
        map<int,int>::const_iterator it; 
        for (it =message.begin(); it !=message.end(); ++it)
        {   
            if(((it->second)/n)>0.25)               //判断帖子个数是否大于1/4
                cout<<it->first<<"是小水王"<<endl;
        }
        return 0;
    }

    截图:



    心得体会:

    本次实验是对水王的进一步探索,有三的小水王,通过对map函数的运用可以很快的找到水王,当然还有很多方法,可以通过数组设置循环进行比较也可以得到结果。

  • 相关阅读:
    HDU1258 Sum It Up(DFS)
    hdu 1078 FatMouse and Cheese(记忆化搜索)
    HDU1072 Nightmare (bfs+贪心)
    HDU 2102 A计划 经典搜索
    hdu 1180诡异的楼梯(bfs)
    HDU 1065.I Think I Need a Houseboat
    559_N叉树的最大深度
    236_二叉树的最近公共祖先
    589_N叉树的前序遍历
    每天进步一点点
  • 原文地址:https://www.cnblogs.com/linumy/p/5536393.html
Copyright © 2011-2022 走看看