zoukankan      html  css  js  c++  java
  • 寻找水王(二)

    一、题目

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

    二、设计思路

        这次实验的思路与上一次的思路类似,通过“消消乐”的方式解决问题,不过这次水王的数量增加到了三个,所以比较的数量也会有所增加,而且要设置相应的变量来记录比较的过程。

    三、源代码

    复制代码
    #include<iostream.h>
    void Data(int l,int A[]); 
    int main()
    {
        int l;//长度
        int target[3]={0,0,0};
        int ID[3]={-1,-1,-1};      
        cout<<"*********************************************************"<<endl;
        cout<<"请输入的帖子数量:";
        cin>>l;
        cout<<"*********************************************************"<<endl;
        int * shuiwang=new int [l];
        Data(l,shuiwang);
        for(int i=0;i<l;i++)
        {
            
            if(target[0]==0 && shuiwang[i]!=ID[1] && shuiwang[i]!=ID[2])
            {
                target[0]=1;
                ID[0]=shuiwang[i];
            }
            else if(target[1]==0 && shuiwang[i]!=ID[0] && shuiwang[i]!=ID[2])
            {
                target[1]=1;
                ID[1]=shuiwang[i];
            }
            else if(target[2]==0 && shuiwang[i]!=ID[0] && shuiwang[i]!=ID[1])
            {
                target[2]=1;
                ID[2]=shuiwang[i];
            }
            
            else if(shuiwang[i]!=ID[0] && shuiwang[i]!=ID[1] && shuiwang[i]!=ID[2])
            {
                target[0]--;
                target[1]--;
                target[2]--;
            }
            else if(shuiwang[i]==ID[0])
            {
                target[0]++;
            }
            else if(shuiwang[i]==ID[1])
            {
                target[1]++;
            }
            else if(shuiwang[i]==ID[2])
            {
                target[2]++;
            }
            
        }
        cout<<"*********************************************************"<<endl;
        cout<<"水王一为:"<<ID[0]<<endl;
        cout<<"水王二为:"<<ID[1]<<endl;
        cout<<"水王三为:"<<ID[2]<<endl;
        cout<<"*********************************************************"<<endl;
        return 0;
    }
    void Data(int l,int A[])
    
    {
        
        cout<<"请输入ID序列:"<<endl;
        for(int i=0;i<l;i++)
            
        {
            
            cin>>A[i];
            
        }
        
    }
    复制代码

    四、实验截图

    五、实验总结

    这次的实验比较前一次又有了新一步的提高,在全局范围内找出多个而不是一个人。增加了难度,在原来的基础之上,进行了深入。其实思想还是大同小异,只是有一个弯儿,一开始怎么也想不出来。这次实验同学对我的帮助很大,我也是在借鉴的基础上完成的这个实验。

  • 相关阅读:
    Oracle查看所有表空间使用情况
    Oracle版本信息查看
    Windows 7关闭和开启系统休眠
    ORACLE 创建表空间
    sp_helpdb使用
    SQL SERVER的数据类型
    博客园开通啦
    http keep alive
    android开发学习
    http与html
  • 原文地址:https://www.cnblogs.com/fan123/p/4469284.html
Copyright © 2011-2022 走看看