寻找水王

一、题目要求

      现有一个灌水论坛,信息学院的学生都喜欢在上面交流灌水。传说在论坛上有一个“水王”,它不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目已超过了帖子数目的一半。

      如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者ID在其中,请设计算法快速找到这个传说中的“水王”。

二、设计思路

  程序的设计思路大体就是,首先设2个变量,将第一个数暂时给shuiwang这个变量并且和下一个数比较,如果相同则用一个X变量自加一,不同则减一;如此循环,如果遇到不同时,一直减减减,x变为0,shuiwang又被新的数覆盖,以此类推,找到最终的水王ID。

三、源代码

/ 123.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


int findshuiwang(int arrID[],int num)
{
    int shuiwang;
    int x;
    for(int i=x=0;i<num;i++)
    {
        if(x==0)
        {
            shuiwang=arrID[i],x=1;
        }
        else
        {
            if(shuiwang==arrID[i])
            {
                ++x;
            }
            else
            {
                --x;
            }
        }
    }
    printf("这个“水王”的ID就是:");
    printf("%d
",shuiwang);
    return shuiwang;
}
    


int main(int argc, char* argv[])
{
    int arry[6]={11110,11110,11110,11110,11112,11112};
    findshuiwang(arry,6);
    return 0;
}

四、实验截图

原文地址:https://www.cnblogs.com/qinxian0/p/5524811.html