标签:
设计思路:
输入发帖ID记录表,从第一个ID开始,与后续的发帖ID进行比较,若相同计数器则加一,否则减一。若计数器的数值被减为零,则重新选取当前ID开始记录比较。并且每次在相同的情况下,记录相同数的个数,同时输出结果的时候进行判断,是否有水王。最后并输出结果。
源代码:
#include<iostream>
using namespace std;
int FindWaterKing(int IDNum[],int m,int &waterking)
{
int count=0,count1=0; //计数,相同帖子ID数目,水王
for(int i=0;i<m;i++)
{
if(count==0) //计数等于0
{
waterking=IDNum[i]; //当前的ID为水王
count++; //计数加1
count1=0;
count1++;
}
else //计数不等于0
{
if(waterking==IDNum[i]) //当前ID等于水王
{
count++; //计数加1
count1++;
}
else
count--; //计数减1
}
}
return count1;
}
int main(){
int IDNum[100]; //存放帖子ID
int n,waterking,num; //帖子数量,水王,相同帖子数目
cout<<"请输入帖子数量:"<<endl;
cin>>n;
cout<<"请输入帖子ID:"<<endl;
for(int i=0;i<n;i++)
{
cin>>IDNum[i];
}
num=FindWaterKing(IDNum,n,waterking);
if(num>(n/2))
cout<<"水王是:"<<waterking<<endl;
else
cout<<"没有水王!!!"<<endl;
return 0;
}
截图:



四、个人总结
本次实验是找水王的第一次作业,有很多方法都可以实现,我采用的是
标签:
原文地址:http://www.cnblogs.com/3712k/p/5530682.html