题目要求:
三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
题目分析:
根据“水王”的特点:每贴必回复,进行建模处理,将表中信息用数字表示,然后两两比对,若相同则计数。若不相同直接抛弃。数目最多的代表水王。
实验代码:
#include<iostream> #include<string> using namespace std; int main() { string id[100]; int m=0,i,n; string s; cout<<"请输入ID数:"; cin>>n; cout<<"输入ID:"; for (i=0;i<n;i++) { cin>>id[i]; } for(i=0;i<n;i++) { if(m == 0) { s = id[i]; m = 1; } else { if(s == id[i]) { m++; } else { m--; } } } cout<<"水王ID是:"<<s<<endl; return 0; }
实验截图:
实验总结:
题目主要问题即水王发帖数超过总数一半时题目的思路也会渐渐的清晰,这就告诉我们在遇到问题时应先仔细分析总结出题目的要点有针对性的解决问题。