杭电 第1004题,我的代码自己测试通过了,为什么系统老是提示wrong answer?求高手指点,谢谢

#include<stdio.h>#include<string.h>intmain(){intn;while(scanf("%d",&n)!=EOF){if(n){in... #include<stdio.h>
#include<string.h>
int main()
{ int n;
while(scanf("%d",&n)!=EOF)
{
if(n)
{
int count[10]={0},flag[1000]={0};
char str[1000][15];
int i,j,max=0,k;
for(i=0;i<n;i++)
scanf("%s",str[i]);
for(i=0;i<n;i++)
{
if(!flag[i])
{
for(j=0;j<n;j++)
{
if(strcmp(str[i],str[j])==0)
{
flag[i]=flag[j]=1;
count[i]++;
}
}
}
}
for(i=0;i<10;i++)
if(max<count[i])
{
max=count[i];
k=i;
}
printf("%s",str[k]);
}
else
break;
}
return 0;
}
展开
 我来答
34472
2012-08-14 · TA获得超过2460个赞
知道小有建树答主
回答量:607
采纳率:100%
帮助的人:323万
展开全部
代码!
#include <iostream>
#include <string>
using namespace std;
int main()
{
int a;
string str, all[1000];
while(cin >> a){
if( a == 0) break;
int i, sum[1000], num = 0, ans;
memset(sum, 0, sizeof(int)*1000);
cin >> all[0]; //第一次不管输入什么, 都会被保存的
num++; // 不同颜色的总数 变成1
sum[0] = 1;
ans = 0; //初始化答案的下标是第一个
for(i = 1; i < a; ++i){
cin >> str;
int j;
for(j = 0; j < num; ++j){
if(str == all[j]){
break;
}
}
if(j < num){
sum[j]++;
if(sum[j] > sum[ans]) ans = j;
}
else{
all[ num ] = str;
sum[ num ] = 1;
num++;
}
}
cout << all[ans] << endl;
}
return 0;
}
武汉多贝斯特
2024-10-11 广告
实验台安装要求包括:1. **精准测量与规划**:确保实验室地面平整,合理规划空间尺寸,避免安装冲突。2. **严格遵循说明**:按照安装说明书进行组装,确保各部件齐全无损。3. **专业工具使用**:使用合适的安装工具,如扳手、螺丝刀等,... 点击进入详情页
本回答由武汉多贝斯特提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式