zoukankan      html  css  js  c++  java
  • 寻找水军

    一、题目要求

     随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

    二、设计思路

    本次题目是在上次寻找“水王”的基础上进行拓展,设计思路和上次的相似,上次寻找水王是用的一个水王变量,一个计数变量,那么本次的设计思想沿用上次的技巧,有三个水军变量,三个计数变量;分别使水军的这三个变量和下一个数比较,然后和三个水军相对应的计数变量分别进行计数,相同则加一,不同则抵消减一;依次循环,和水王的规则类似,最后找到3个水军

    三、程序代码

    #include "stdafx.h"
    
    void findshuijun(int arrID[],int num)
    {
        int shuijun1=0,shuijun2=0,shuijun3=0;
        int x1=0,x2=0,x3=0;
        for(int i=0;i<num;i++)
        {
            if(x1==0 && arrID[i]!=shuijun2 && arrID[i]!=shuijun3)
            {
                x1=1;
                shuijun1=arrID[i];
            }
            else if(x2==0 && arrID[i]!=shuijun1 && arrID[i]!=shuijun3)
            {
                x2=1;
                shuijun2=arrID[i];
            }
            else if(x3==0 && arrID[i]!=shuijun1 && arrID[i]!=shuijun2)
            {
                x3=1;
                shuijun3=arrID[i];
            }
            else if(arrID[i]!=shuijun1 && arrID[i]!=shuijun2 && arrID[i]!=shuijun3)
            {
                x1--;
                x2--;
                x3--;
            }
            else if(arrID[i]==shuijun1)
            {
                x1++;
            }
            else if(arrID[i]==shuijun2)
            {
                x2++;
            }
            else if(arrID[i]==shuijun3)
            {
                x3++;
            }       
        }
        printf("三个水军的ID分别是:%d、%d、%d
    ",shuijun1,shuijun2,shuijun3);
    
    }
    
    
    
    int main(int argc, char* argv[])
    {
        int arry[15]={110,110,111,112,113,111,111,112,110,110,112,112,111,113,114};
        findshuijun(arry,15);
        return 0;
    }

    四、程序实现截图

    五、体会

    开始出来的结果不正确,经过调试才发现水军和计数变量没有初始化;这次实验是和同学一起讨论想到的,在设置变量的时候一开始遇到了困难,后来经过一点点的分析才最终解决。

  • 相关阅读:
    c# linq查询的等于大于符号是什么意思?
    c# Socket tcpClient处理连接超时方式timeout
    不同网段服务器与客户端连接问题解决方法TCP/IP_C/S
    Http请求响应及SpringMVC相关注解解析
    Nginx部署项目,转发规则,负载均衡配置
    Linux redis设置后台启动
    Linux centos7安装Jdk nginx redis
    SpringCloud整合SpringSecurity JWT进行认证 ,鉴权
    C#中class与struct的区别概述
    列举ASP.NET 页面之间传递值的几种方式
  • 原文地址:https://www.cnblogs.com/qinxian0/p/5546303.html
Copyright © 2011-2022 走看看