zoukankan      html  css  js  c++  java
  • 找水王

      题目:三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

      设计思路:根据题目,我们可以知道贴子数以及ID,还有最关键的一个信息是水王的帖子数超过了总帖子数的一半,所以我们就可以设一个变量count用来计数,先假设水王是第一个ID的人,从第一个帖子开始,如果 第二个帖子的ID和第一个帖子的ID相同,则count加1,如果不同,count就减1,最后如果count小于0,那么水王就变成下一个ID,如果大于0,就是第一个ID。这样遍历一遍,就能找到水王了。

      源代码:

     1 //  2016/5/9,张晓菲,找水王问题
     2 #include<iostream>
     3 using namespace std;
     4 
     5 #define N 100
     6 
     7 int main()
     8 {
     9     int num;
    10     cout<<"请输入帖子数:";
    11     cin>>num;
    12     while(num<=0)
    13     {
    14         cout<<"请重新输入帖子数:";
    15         cin>>num;
    16     }
    17 
    18     int id[N];
    19     cout<<"请输入ID:";
    20     for(int i=0;i<num;i++)
    21     {
    22         cin>>id[i];
    23     }
    24 
    25     int shuiwang=id[0];//定义shuiwang这个变量
    26     int count;//用来计数
    27     for(int j=0;j<num;j++)//从第一个ID开始遍历,如果第一个和第二个帖子ID相同,则count加1,不同则减1
    28     {
    29         if(shuiwang=id[j])
    30         {
    31             count=count+1;
    32         }
    33         else
    34             count=count-1;
    35      if (count<0)//如果count小于0,水王就等于下一个ID,然后再依次遍历
    36         {
    37             shuiwang = id[j];
    38         }
    39      }
    40 
    41     cout<<"水王是:"<<shuiwang<<endl;
    42     return 0;
    43 }

      结果截图:

      总结:刚拿到这个题目的时候一点思路也没有,后来听班里的大神讲思路,才知道原来可以这样写,知道了思路之后写着就快多了,其实一个题目最重要的就是思路了,没有思路什么也做不出来,所以,锻炼一个好的思维很重要。

      缺陷记录日志:

      缺陷是如果用户不小心将帖子数输入了字母,我的程序没办法进行出错处理。

      时间记录日志:

    日期 开始时间 结束时间 中断时间(min) 净时间(min) 活动 备注

    5月16号

    星期一

    14:00 15:50 10(课间) 100 上课 软件工程

    5月17号

    星期二

    20:00 22:00 0 120 编程 大作业

     5月18号

    20:00 22:00 0 120 编程 找水王

    5月19号

    星期四

    14:00 15:50 10 100 上机 软件工程

    5月20号

    星期五

    16:30 17:30 0 100 整理博客、发博客

    找水王

      

  • 相关阅读:
    支付宝校园一卡通充值服务体验
    商品筛选导航菜单亮点欣赏
    手机QQ v4.2 有感
    因所缺,而所需——互联网应用的开发方向
    浅谈 css3 box盒子模型以及box-flex的使用
    浅谈stylus与sass的对比
    css3 transfrom使用以及其martix(矩阵)属性与其它属性的关系
    js命名空间
    公用的stringUtil工具
    js 实现angylar.js view层和model层双绑定(改变view刷新 model,改变model自动刷新view)
  • 原文地址:https://www.cnblogs.com/quite-love/p/5512871.html
Copyright © 2011-2022 走看看