课堂练习

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

如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的id也在其中,你能快速的找到这个传说中的水王吗?

思维过程:从第一个sw=ID[0]开始遍历times=0,遍历下一个ID若相同times++,若不同times--,如果ntimes=0的话,重复第一步。

遍历结束,sw就是水王ID

#include<iostream>
 #include<string>
  using namespace std;
  string ID[20] = { "id1", "id2", "id3", "id3", "id2", "id2", "id2", "id8", "id9", "id8", "id2", "id2", "id2", "id4", "id2", "id2", "id2", "id5", "id6" };
  
  int main()
  {
      cout << "ID列表:" << endl;
      int i;
      for ( i = 0; i < 20; i++)
     {
         cout << ID[i] << endl;
     }
     string sw;
     int Times=0;
     for ( i = 0; i < 20; i++)
     {
         if (Times == 0)
         {
             sw = ID[i];
             Times = 1;
         }
         else
         {     
             if (sw == ID[i])
                 Times++;
             else
                 Times--;
         }
     }

     cout <<endl<< "水王ID为 "<<sw<<endl<<endl;
    return 0;
  }

水王也是善于发言,尝试是第一步,然后是仔细的,目的明确的,有人协助的,正确的训练。

posted @ 2018-12-10 00:01  哈哈哇小程序  阅读(192)  评论(0编辑  收藏  举报