课堂练习—找水王(续)
2015-04-30 23:57
232 查看
一、题目
随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗
二、设计思路
上次是每次删除两个ID,即如果两个ID不同则删除,相同则保留,这次参考原来问题的解法,如果按照数序删除四个完全不同的ID,那么,最后剩下的就是原先发帖比例大于1/4的ID。循环这个过程,把ID总数降低,从而得到问题的答案。
三、源代码
#include<iostream.h>
int main()
{
int ID[10]={1,2,3,4,1,3,4,1,3,4};
int ID_NULL;//定义一个不存在的ID
int shui[3];
int flag[3];
int i;
shui[0]=shui[1]=shui[2]=0;
flag[0]=flag[1]=flag[2]=ID_NULL;
for(i=0;i<10;i++)
{
if(ID[i]==flag[0])
{
shui[0]++;
}
else if(ID[i]==flag[1])
{
shui[1]++;
}
else if(ID[i]==flag[2])
{
shui[2]++;
}
else if(shui[0]==0)
{
shui[0]=1;
flag[0]=ID[i];
}
else if(shui[1]==0)
{
shui[1]=1;
flag[1]=ID[i];
}
else if(shui[2]==0)
{
shui[2]=1;
flag[2]=ID[i];
}
else
{
shui[0]--;
shui[1]--;
shui[2]--;
}
}
cout<<"三个水王分别是:"<<endl;
cout<<flag[0]<<" "<<flag[1]<<" "<<flag[2]<<endl;
return 0;
}
四、结果截图
五、实验心得
我记得在课上的时候,FD就想出了这个思路,但是我们不知道怎么去实现,然后搜索了实现方法,找到了解决的办法,其实也就在在上次实验的基础上,虽然想法成立,但是实现起来,需要注意的细节颇多。
经验不能浪费,在做类似的题时应先想想原先的思路是否行得通,然后再去考虑别的方法,这样往往能节省不少时间。
随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗
二、设计思路
上次是每次删除两个ID,即如果两个ID不同则删除,相同则保留,这次参考原来问题的解法,如果按照数序删除四个完全不同的ID,那么,最后剩下的就是原先发帖比例大于1/4的ID。循环这个过程,把ID总数降低,从而得到问题的答案。
三、源代码
#include<iostream.h>
int main()
{
int ID[10]={1,2,3,4,1,3,4,1,3,4};
int ID_NULL;//定义一个不存在的ID
int shui[3];
int flag[3];
int i;
shui[0]=shui[1]=shui[2]=0;
flag[0]=flag[1]=flag[2]=ID_NULL;
for(i=0;i<10;i++)
{
if(ID[i]==flag[0])
{
shui[0]++;
}
else if(ID[i]==flag[1])
{
shui[1]++;
}
else if(ID[i]==flag[2])
{
shui[2]++;
}
else if(shui[0]==0)
{
shui[0]=1;
flag[0]=ID[i];
}
else if(shui[1]==0)
{
shui[1]=1;
flag[1]=ID[i];
}
else if(shui[2]==0)
{
shui[2]=1;
flag[2]=ID[i];
}
else
{
shui[0]--;
shui[1]--;
shui[2]--;
}
}
cout<<"三个水王分别是:"<<endl;
cout<<flag[0]<<" "<<flag[1]<<" "<<flag[2]<<endl;
return 0;
}
四、结果截图
五、实验心得
我记得在课上的时候,FD就想出了这个思路,但是我们不知道怎么去实现,然后搜索了实现方法,找到了解决的办法,其实也就在在上次实验的基础上,虽然想法成立,但是实现起来,需要注意的细节颇多。
经验不能浪费,在做类似的题时应先想想原先的思路是否行得通,然后再去考虑别的方法,这样往往能节省不少时间。
相关文章推荐
- 课堂练习-找水王(续)
- 课堂练习-找水王(4.21)
- 深入.NET第七章 课堂练习(交通工具.......)
- 上机练习题——异常处理(课堂练习1)
- 课堂练习求环整数组中最大子数组之和
- 软件工程课堂练习:返回一个一维整数数组中最大子数组的和
- 软件工程课堂练习
- 第三章 表单(课堂练习)
- CCNA课堂练习:OSPF的介绍及配置
- CCNA课堂练习:控制访问列表(ACCESS LIST)
- 课堂练习
- 课堂练习找水王续
- 课堂练习-找水王续
- 课堂练习——四则运算(2)编程思路
- 韩顺平_php从入门到精通_视频教程_第4讲_图像_表格_实际应用-菜谱_课堂练习-课程表_学习笔记_源代码图解_PPT文档整理
- 课堂练习之书费问题
- 课堂练习之四则运算加强版
- 课堂实践及课后练习9.27@20155223
- 3月20号周五课堂练习:结对开发----求二维数组组成的矩阵中子矩阵的最大值
- 软件工程课堂练习--结对开发