• 寻找水王02


    题目:

           这次的题目是对第一次题目的一个扩展:随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了总的1/4,如何从发帖列表中快速找到他们?

    程序设计思想:

          这次程序的思路和上次思路一致,不同的是这次需要三个计数器。

    源代码:

    #include <iostream>
    #include <string>
    using namespace std;
    #define N 100
    int main()
    {
        int water_king[3];   //设置三个变量,用来记录ID号
        int ID[N], a ,b;
        int num = 0;
        int count[3] = { 0 };  //设置三个变量,用来计数,记录ID号出现的个数
        bool flag = false;
        cout << "请输入帖子的个数:" << endl;
        cin >> b;
        cout << "请输入ID:" << endl;
        while (cin >> a)     //输入数组 回车结束
        {
            ID[num++] = a;
            if (num > b)
            {
                cout << "输入ID数与帖子数目不匹配" << endl;
                return 0;
            }
            else 
            {
                if (getchar() == '
    ')  //换行停止
                {
                    break;
                }
            }
            
        }
        for (int i = 0; i < num; i++)
        {
            flag = false;
            for (int j = 0; j < 3; j++)
            {
                if (count[j] == 0)
                {
                    continue;
                }
                if (water_king[j] == ID[i])
                {
                    count[j]++;
                    flag = true;
                }
            }
    
            if (flag == true)
            {
                continue;
            }
    
            for (int j = 0; j < 3; j++)
            {
                if (count[j] == 0)
                {
                    water_king[j] = ID[i];
                    count[j]++;
                    flag = true;
                    break;
                }
            }
    
            if (flag == true)
            {
                continue;
            }
    
            for (int j = 0; j < 3; j++)
            {
                count[j]--;
            }
    
        }
        cout << "三个小水王ID 分别为: " << endl;
        cout << water_king[0] << " " << water_king[1] << " " << water_king[2] << endl;
    }

    结果截图:
    当所输入的帖子数目与ID数不一致时

    一致时找出水王

    总结:虽然这次寻找水王的题目是在第一次的基础上进行的,设计思路也是来源于上次,但是这次的程序比上次的要复杂,因为三个“小水王”需要考虑的因素就要比第一个程序考虑的要多,需要要到三个计数器,在今后的编程中还是要多思考。

  • 相关阅读:
    SpringCloud就是分布式啊?!?!?!
    有没有可能让运算符作为函数参数?
    【问题】用C++结构体实现顺序表,数据超过数组长度后,表长自动+1
    数学模型与数据结构的丝连
    最浅显易懂的数据库索引讲解
    whois 信息
    旁站C段查询
    网络搜索引擎
    服务指纹识别
    绕过CDN查找ip方法总结
  • 原文地址:https://www.cnblogs.com/me-tts/p/5569177.html
Copyright © 2020-2023  润新知