杭电oj 1004 题,为什么我的是wrong answer?

#include<iostream>#include<string>usingnamespacestd;classballoon{public:stringcolor;i... #include<iostream>
#include<string>
using namespace std;

class balloon{
public:
string color;
int num;
balloon ()
{
color=" ";
num=0;
}
};

int main()
{
int n;
string A[1000];
balloon B[1000];

while(cin>>n&&n!=0)
{
int i;
for(i=0;i<n;i++)
{
cin>>A[i];
}

int j=0;
int k=0;
bool found=false;

for(i=0;i<n;i++)
{
for(k=0;k<j;k++)
{
if(B[k].color==A[i])
{
found=true;
B[k].num++;
j++;
break;
}
}
if(!found)
{
B[j].color=A[i];
}

}

int max=B[0].num;
for(i=0;i<j-1;i++)
{
if(B[i].num>max)
{
max=B[i].num;
k=i;

}

}

cout<<B[k].color<<endl;

}

return 0;

}
展开
 我来答
xx_lyq00
2013-08-21 · TA获得超过4138个赞
知道大有可为答主
回答量:1794
采纳率:88%
帮助的人:791万
展开全部
for(i=0;i<n;i++)
{
for(k=0;k<j;k++)
{
if(B[k].color==A[i])
{
found=true;
B[k].num++;
j++;
break;
}
}
if(!found)
{
B[j].color=A[i];
}

}

这一段代码太难看懂了,你再好好想想,这里有错误

found只初始化了一次。你的本意是什么的。
更多追问追答
追问
found 的意思是找到相同的颜色,让他的数目加一,否则没找到,新建一个bolloon
found 意思是找到相同颜色的球,若为false ,则新添加个球
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式