zoukankan      html  css  js  c++  java
  • 寻找“水王”01

    1.设计思想

      假设ID都在sw.txt中

      首先,按行读取ID

      其次,设置beforeID,记录前一个ID是什么,判断当前ID和beforeID是否相同;如果相同,得到水王ID;如果不同,将当前ID给beforeID,接着读取下一行。

      最后,读取比较完最后一个ID,得到水王。

      (本题假设水王存在,所以不考虑没有水王)

    2.代码实现

    //2016-5-24 李娜
    //根据ID号,寻找发帖数超过一半的“水王”
    
    #include<iostream>
    #include<fstream>
    #include<String>
    
    using namespace std;
    
    void inputID()//读取ID
    {
        string id,beforeID="";
        string sw;
    
        ifstream infile("e:\sw.txt");
    
        if (!infile)
        {
    
            cout<<"文件打开出错!"<<endl;
    
        }
    
        while (getline(infile,id))//读取每行的ID
        {
                
            
            if (id==beforeID)
            {
                sw=id;
            }
    
            else
            {
                beforeID=id;
            }                
        
        }
        cout<<"“水王”的ID是:"<<sw<<endl;
        
    }
    int main()
    {
    
        inputID();
        return 0;
        
    }

    3.测试截图:

    4.个人总结

      其实上课已经说出了关键在于“两两消除”,也没什么难的。

      我认为getline这个函数很适合在这里,毕竟如果不用就得一个一个字符读入,然后判断是不是有空格、回车什么的。

      其实本来我是想用字符串数组存放ID的,但是写着太长了,就直接读一个比一个吧。

  • 相关阅读:
    用魔数防范文件上传攻击
    nginx http跳转到https
    tengine安装
    版本标记说明
    nginx基于域名的虚拟主机 反向代理配置实例
    非ROOT用户启动Tomcat
    使用druid连接池的超时回收机制排查连接泄露问题
    Jenkins入门系列之
    centos7 关闭SELINUX 防火墙
    mac安装IE浏览器
  • 原文地址:https://www.cnblogs.com/linanil/p/5525549.html
Copyright © 2011-2022 走看看