个人项目4——找水王

设计思想:

遍历一遍ID列表,进行两两比较

如两个ID不同就都删掉

如果相同,出现这个ID的次数加一

水王的帖子超过一半,遍历到最后剩下的只有水王的ID

实现数据  :{ 8,9,8,7,8,1,2,5,4,8,8,5}

截图:

 代码实现:

#include<iostream>
using namespace std;

int Find(int* ID, int N)
{
int IDK;
int ntimes;

for (int j = ntimes = 0; j < N; j++)
{
if (ntimes == 0)
{
IDK = ID[j];
ntimes = 1;
}
else
{
if (IDK == ID[j])
{
ntimes++;
}
else
ntimes--;
}
}
return IDK;
}
int main()
{

int IDs[] = { 8,9,8,7,8,1,2,5,4,8,8,5};
int IDK = Find(IDs, 12);
cout << "水王是 " << IDK << endl;
system("pause");
return 0;
}

个人总结:

对于寻找出现次数最多的题目,可以通过两两比较来找到最多的。重要的是循环体的使用,找到循环体中需要实现的目的是什么。

posted on 2018-12-10 14:38  tuLIWEN  阅读(97)  评论(0编辑  收藏  举报