寻找“水王”01
2016-05-25 00:22
260 查看
1.设计思想
假设ID都在sw.txt中
首先,按行读取ID
其次,设置beforeID,记录前一个ID是什么,判断当前ID和beforeID是否相同;如果相同,得到水王ID;如果不同,将当前ID给beforeID,接着读取下一行。
最后,读取比较完最后一个ID,得到水王。
(本题假设水王存在,所以不考虑没有水王)
2.代码实现
3.测试截图:
4.个人总结
其实上课已经说出了关键在于“两两消除”,也没什么难的。
我认为getline这个函数很适合在这里,毕竟如果不用就得一个一个字符读入,然后判断是不是有空格、回车什么的。
其实本来我是想用字符串数组存放ID的,但是写着太长了,就直接读一个比一个吧。
假设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的,但是写着太长了,就直接读一个比一个吧。
相关文章推荐
- asp.net 有关时间各种(输出)处理
- Python基础(五)集合与函数
- ZeroMQ无锁队列分析
- Qt多线程中调用QTimer
- Linux System and Performance Monitoring
- 一些面试题
- bzoj3160 万径人踪灭
- c++第六次实验 项目二:数组合并与排序。
- c++ STL sort struct comp
- libevent介绍及示例
- 软件界面设计
- bzoj3790 神奇项链
- NSKeyedArchiver归档存储
- 148_okhttp和Gson
- bzoj2342【SHOI2011】双倍回文
- 147_阻止ViewPager滚动
- Android之手势翻页
- asp.net 文件 操作方法
- bzoj2754【SCOI2012】喵星球上的点名
- 146_ViewUtils的使用