找水王
一、题目要求
现有一个灌水论坛,信息学院的学生都喜欢在上面交流灌水。传说在论坛上有一个“水王”,它不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目已超过了帖子数目的一半。
如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者ID在其中,请设计算法快速找到这个传说中的“水王”。
二、设计思路
程序的设计思路大体就是,首先设2个变量,将第一个数暂时给shuiwang这个变量并且和下一个数比较,如果相同则用一个X变量自加一,不同则减一;如此循环,如果遇到不同时,一直减减减,x变为0,shuiwang又被新的数覆盖,以此类推,找到最终的水王ID。
三、源代码
#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\n",shuiwang);
return shuiwang;
}
int main(int argc, char* argv[])
{
int arry[6]={11110,11110,11110,11110,11112,11112};
findshuiwang(arry,6);
return 0;
}
四、实验截图
五、实验总结
通过此次程序的训练,我们学到了不少东西,在克服困难的过程中,感受到了前所未有的乐趣。