您的位置:首页 > 其它

寻找“水王”01

2016-05-25 00:22 260 查看
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的,但是写着太长了,就直接读一个比一个吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: