杭电acm1004 详细解释一下 下面这个程序,谢谢。
#include<stdio.h>#include<string.h>chara[1000][16];intb[1000];voidmain(){intn,max,i,j...
#include<stdio.h>
#include<string.h>
char a[1000][16];
int b[1000];
void main()
{
int n,max,i,j,m;
while(scanf("%d",&n)!=EOF)
{
getchar();
if(n==0)break;
for(i=1;i<=n;i++)
{
b[i]=0;
gets(a[i]);
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
if(strcmp(a[i],a[j])==0)
b[i]++;
}
m=1;
max=b[1];
for(i=2;i<=n;i++)
if(max<b[i])
{ m=i;max=b[i];}
printf("%s\n",a[m]);
}
} 展开
#include<string.h>
char a[1000][16];
int b[1000];
void main()
{
int n,max,i,j,m;
while(scanf("%d",&n)!=EOF)
{
getchar();
if(n==0)break;
for(i=1;i<=n;i++)
{
b[i]=0;
gets(a[i]);
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
if(strcmp(a[i],a[j])==0)
b[i]++;
}
m=1;
max=b[1];
for(i=2;i<=n;i++)
if(max<b[i])
{ m=i;max=b[i];}
printf("%s\n",a[m]);
}
} 展开
展开全部
这题是输入一堆字符串,然后输出字符串出现次数最多的那一条。
#include<stdio.h>
#include<string.h>
char a[1000][16];
int b[1000];
void main()
{
int n,max,i,j,m;
while(scanf("%d",&n)!=EOF)
{
getchar(); //吸收回车符。
if(n==0)break;
for(i=1;i<=n;i++)
{
b[i]=0;
gets(a[i]); //输入字符串
}
//统计第i个字符串在所有字符串中出现的次数,存在b[i]
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
if(strcmp(a[i],a[j])==0)
b[i]++;
}
m=1;
max=b[1];
//求出最大的字符串。
for(i=2;i<=n;i++)
if(max<b[i])
{ m=i;max=b[i];}
printf("%s\n",a[m]);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询