zoukankan      html  css  js  c++  java
  • 课堂作业——找水王

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

    设计思路:

    输入发帖ID记录表,从第一个ID开始,与后续的发帖ID进行比较,若相同计数器则加一,否则减一。若计数器的数值被减为零,则重新选取当前ID开始记录比较。并且每次在相同的情况下,记录相同数的个数,同时输出结果的时候进行判断,是否有水王。最后并输出结果。

    源代码:

    #include<iostream>
    using namespace std;
    
    int FindWaterKing(int IDNum[],int m,int &waterking)
    {
    
       int count=0,count1=0;            //计数,相同帖子ID数目,水王
       for(int i=0;i<m;i++)
       {
           if(count==0)                //计数等于0
           {
               waterking=IDNum[i];                   //当前的ID为水王
               count++;                                //计数加1
               count1=0;
               count1++;
           }
           else                                  //计数不等于0
           {
               if(waterking==IDNum[i])             //当前ID等于水王
               {
                   count++;                     //计数加1
                   count1++;
               }
               else
                   count--;                     //计数减1
           }   
       }
       return count1;
    }

    int main(){ int IDNum[100]; //存放帖子ID int n,waterking,num; //帖子数量,水王,相同帖子数目 cout<<"请输入帖子数量:"<<endl; cin>>n; cout<<"请输入帖子ID:"<<endl; for(int i=0;i<n;i++) { cin>>IDNum[i]; } num=FindWaterKing(IDNum,n,waterking); if(num>(n/2)) cout<<"水王是:"<<waterking<<endl; else cout<<"没有水王!!!"<<endl; return 0; }
     

    截图:

    四、个人总结

        本次实验是找水王的第一次作业,有很多方法都可以实现,我采用的是这种方法,其中需要测试边界条件,若出现没有水王的情况就会出现错误,

    每次写程序都要做单元测试 ,测试不同的边界条件。

  • 相关阅读:
    Encryption (hard) CodeForces
    cf 1163D Mysterious Code (字符串, dp)
    AC日记——大整数的因子 openjudge 1.6 13
    AC日记——计算2的N次方 openjudge 1.6 12
    Ac日记——大整数减法 openjudge 1.6 11
    AC日记——大整数加法 openjudge 1.6 10
    AC日记——组合数问题 落谷 P2822 noip2016day2T1
    AC日记——向量点积计算 openjudge 1.6 09
    AC日记——石头剪刀布 openjudge 1.6 08
    AC日记——有趣的跳跃 openjudge 1.6 07
  • 原文地址:https://www.cnblogs.com/linumy/p/5509080.html
Copyright © 2011-2022 走看看