找水王

一、题目

  有一个大“水王”,他不仅喜欢发贴,还会回复其他ID发的每个帖子。该“水王”发帖数目超过了帖子总数的一半。如果有当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的水王吗?

二、设计思想

我上课思路就是,定义一个数组依次输入每个帖子对应的ID号,将数组的第一个值赋给m,以后就用m记录ID号,用j记录是否为相同的ID即为计数器,通过依次对每一个帖子进行遍历,如果是ID号与m记录的ID号相同,j便增加1,否则减少1,当j减为0时,m记录的是下一个的ID号,j从1开始计数,最后剩下的那个或是数量最多的m即为水王的ID

#include <iostream>
#define N 10000
using namespace std;

void main()
{
    int n,a[N];
    cout<<"请输入帖子的数量:";
    cin>>n;
    int i;
    cout<<"请依次输入帖子对应的ID号:"<<endl;
    for(i=0;i<n;i++)
    {
        cin>>a[i];
    }
    int m=a[0];
    int j=1;
    for(i=1;i<n;i++)
    {
        if(a[i]==m)
            j++;
        else
        {
            m=a[i+1];
            j--;
        }

    }
    if(j>0)
        cout<<"水王的ID号为:"<<m<<endl;
    
}

 

posted on 2019-06-02 17:17  白杰一号  阅读(175)  评论(0编辑  收藏  举报