天天看點

找水王

一、題目要求

      現有一個灌水論壇,資訊學院的學生都喜歡在上面交流灌水。傳說在論壇上有一個“水王”,它不但喜歡發帖,還會回複其他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;

四、實驗截圖

找水王

五、實驗總結

通過此次程式的訓練,我們學到了不少東西,在克服困難的過程中,感受到了前所未有的樂趣。