zoukankan      html  css  js  c++  java
  • 课堂练习-找水王(4.21)

    题目:

    三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
    如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
    一、设计思想
       刚开始设想的思路是先将其进行排序,由于水王出现的次数大于帖子数目的一半,所以在排序的中点处一定是水王。
       后来在老师的提点下,感觉用消消乐的方法是个不错的选择,只不过我的方法是消去不同的两项,由于水王发帖数大于帖子总数的一半,所以消到最后剩下的一定是水王。
    二、源代码
     1 #include<iostream.h>
     2 int main()
     3 {
     4     int i,j,k=1,shuiwang;
     5     int a[100];
     6     cout<<"请输入id数:";
     7     cin>>j;
     8     cout<<"请输入id:";
     9     for(i=0;i<j;i++)
    10     {
    11         
    12         cin>>a[i];
    13     }
    14     shuiwang=a[0];
    15     for(i=1;i<j;i++)
    16     {
    17         if(shuiwang!=a[i])
    18         {
    19             k=k-1;
    20             if(k<=0)
    21             {
    22                 shuiwang=a[i+1];
    23                 k=1;
    24                 i++;
    25             }
    26             
    27         }
    28         else
    29         {
    30             shuiwang=a[i];
    31             k=k+1;
    32         }
    33     
    34     }
    35     cout<<"水王id为:"<<shuiwang<<endl;
    36     return 0;
    37 }

    三、实验结果截图

    四、实验总结

      本次实验让我深深体会到了解决办法的方式有很多,选择一种合适的很重要。在解决一个问题前,最重要的不是立刻去编写程序,而是要分析怎样解决这个问题才最快,最节省时间。一个好的思路,往往比你编程更重要。

  • 相关阅读:
    Socket规划(1)
    hdu 2391 Filthy Rich
    UDP议定书图像高速传输无损失程序
    C# 通过豆瓣网络编程API获取图书信息
    OS调度算法常用摘要
    mysql回想一下基础知识
    2015第37周三
    2015第37周二
    2015第37周一
    2015第37周一struts2 jstl 标签
  • 原文地址:https://www.cnblogs.com/gaoyang110/p/4445318.html
Copyright © 2011-2022 走看看