杭电acm 1004我的代码哪里错了,总是AC不掉

#include<stdio.h>#include<string.h>intmain(){intN,i,j,k,max,f[1001],m;chara[1000][15]... #include <stdio.h>
#include <string.h>
int main()
{
int N,i,j,k,max,f[1001],m;
char a[1000][15],temp[15];
while(scanf("%d",&N)!=EOF,N)
{
for(i=0,k=0;i<N;i++)
{
scanf("%s",temp);
m=0;
for(j=k-1;j>=0;j--) if(strcmp(temp,a[j])==0) f[j]++;else m++;
if(m==k) {strcpy(a[k],temp);f[k++]=1;}
}
max=f[0];j=0;
for(i=1;i<=k;i++)
{
if(max<f[i]) {max=f[i];j=i;}
}
printf("%s\n",a[j]);
}
return 0;
}
展开
 我来答
tanzhangwen
2012-03-10 · TA获得超过1136个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:844万
展开全部
#include <stdio.h>
#include <string.h>
int main()
{
int N,i,j,k,max,f[1001],m;
char a[1001][16],temp[16]; //注意开大点防止出错
while(scanf("%d",&N)!=EOF,N)
{
for(i=0,k=0;i<N;i++)
{
scanf("%s",&temp); //注意&
m=0;
for(j=k-1;j>=0;j--) if(strcmp(temp,a[j])==0) f[j]++;else m++;
if(m==k) {strcpy(a[k],temp);f[k++]=1;}
}
max=f[0];j=0;
for(i=1;i<k;i++) //不要等于k因为就k个元素
{
if(max<f[i]) {max=f[i];j=i;}
}
printf("%s\n",a[j]);
}
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式