• 寻找水王程序二


    题目:

    在上一次的程序中 信息学院的论坛里面,有一大“水王”不见了。出现了三个小水王,每个人的发帖数都超过了1/4。

    思路:

    还是上次消除的思想,我定义了三个计数器和三个初始嫌疑水王,比较三个ID,如果不相同,就排除,如果相同,那么计数器加一。嫌疑水王ID都与其它水军ID进行消除最后剩下的就是三个水王。

    代码:

    #include "iostream"
    using namespace std;
    
    typedef int Type;
    	 
    Type find(Type *shuiwang  ,int length)
    {
        int Idcou[3]={0,0,0};//计数器初始化为0
        int ID[3]={0,0,0};     //水王id初始化为0 
    
        for(int i=0;i<length;i++)//找水王
        {
            if(Idcou[0]==0 && shuiwang[i]!=ID[1] && shuiwang[i]!=ID[2])    //三个数两两相比如果不相等则消去
            {
                Idcou[0]=1;
                ID[0]=shuiwang[i];
            }
            else if(Idcou[1]==0 &&shuiwang[i]!=ID[0] && shuiwang[i]!=ID[2])
            {
                Idcou[1]=1;
                ID[1]=shuiwang[i];
            }
            else if(Idcou[2]==0 &&shuiwang[i]!=ID[0] && shuiwang[i]!=ID[1])
            {
                Idcou[2]=1;
                ID[2]=shuiwang[i];
            }
    
            else if(shuiwang[i]!=ID[0] && shuiwang[i]!=ID[1] && shuiwang[i]!=ID[2]) //四个数若是不想等,则删除这四个数
            {
                Idcou[0]--;
                Idcou[1]--;
                Idcou[2]--;
            }
            else if(shuiwang[i]==ID[0])
            {
                Idcou[0]++;
            }
            else if(shuiwang[i]==ID[1])
            {
                Idcou[1]++;
            }
            else if(shuiwang[i]==ID[2])
            {
                Idcou[2]++;
            }       
        }
    
    	cout<<"三个小水王分别是:"<<ID[0]<<"   "<<ID[1]<<"    "<<ID[2]<<endl;	
        return 0;
    }
    
    int main()
    {  
    	Type shuiwang[] ={1,1,1,1,1,1,3,3,3,3,3,45,3,41,2,2,2,2,2,2};
    	find(shuiwang,20);
    	return 0;
    }
    

      

  • 相关阅读:
    flask---第一篇
    python 奇技淫巧
    Date
    StringBuffer和StringBuilder
    Object
    String 类中的几个练习--获取指定字符串中,大写字母、小写字母、数字的个数||获取一个字符串中,另一个字符串出现的次数
    String 中常用的几种方法
    final
    String类中"=="、equals和普通类中"=="、equals的比较
    构造方法
  • 原文地址:https://www.cnblogs.com/tyyhph/p/5521101.html
Copyright © 2020-2023  润新知