课堂作业------找水王(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函数的运用可以很快的找到水王,当然还有很多方法,可以通过数组设置循环进行比较也可以得到结果。

posted @ 2016-05-26 11:03  linumy  阅读(142)  评论(0编辑  收藏  举报