寻找小水王

寻找小水王:
思路:因为三个小水王的发帖数占总帖子数量的四分之一以上,则其他人的发帖量肯定小于四分之一.以上一个题目的方法为前提采用相同即加1,不同即减1的原则,对每个id进行筛选并将结果减去四分之一的总帖子数,若结果大于0则为小水王,若小于0则为普通用户.

#include<iostream>
using namespace std;
 
void Find(int shui_ID[],int ID)
{
    int LID[3];//小水王
    int Counts[3]={0,0,0};
    int i=0;
    for(i=0;i<ID;i++)
    {
 
        if(Counts[0]==0 && shui_ID[i]!=LID[1] && shui_ID[i]!=LID[2])
        {
            Counts[0]=1;
            LID[0]=shui_ID[i];
        }
        if(Counts[1]==0 &&shui_ID[i]!=LID[0] && shui_ID[i]!=LID[2])
        {
            Counts[1]=1;
            LID[1]=shui_ID[i];
        }
        if(Counts[2]==0 &&shui_ID[i]!=LID[0] && shui_ID[i]!=LID[1])
        {
            Counts[2]=1;
            LID[2]=shui_ID[i];
        }
        if(shui_ID[i]!=LID[0] && shui_ID[i]!=LID[1] && shui_ID[i]!=LID[2])
        {
            Counts[0]--;
            Counts[1]--;
            Counts[2]--;
        }
        if(shui_ID[i]==LID[0])
        {
            Counts[0]++;
        }
        if(shui_ID[i]==LID[1])
        {
            Counts[1]++;
        }
        if(shui_ID[i]==LID[2])
        {
            Counts[2]++;
        }      
    }
    for(i=0;i<3;i++)
    {
        cout<<LID[i]<< "";
    }
}
 
int main()
{
    cout<< "请输入用户发帖总数:";
    int n;
    cin>>n;
    cout<<endl;
        cout<<endl;
    int ID[13]={5,5,5,5,2,2,2,2,3,3,3,3,4};
    cout<<"用户ID为: "<<" ";
    cout << ID[0];
    for(int i=1;i<13;i++)
    {
        cout <<"" << ID[i];
    }
        cout<<endl;
    cout<<endl;
    cout<<endl;
 
    cout<<"小水王分别为:"<<" ";
    Find(ID,13); 
    return 0;
}

截图:

原文地址:https://www.cnblogs.com/huangliping/p/5534905.html