C语言输出出现次数最多的单词
发布网友
发布时间:2024-10-04 03:52
我来回答
共1个回答
热心网友
时间:2024-11-20 04:57
1.数组循环次数多一次;2.输入一个%d整型数后要清除输入缓冲后面的内容(\n或者空格等),否则第一个gets是直接从整型数后开始的。
#include<stdio.h>
#include<string.h>
int main()
{
int i,m=0,t=0,j,n;
char s[10][10];
const char *a,*p[10];
scanf("%d",&n);
fflush(stdin);//增加这句,清除输入缓冲的内容(\n或者空格等),保证后面得到的输入字符串正确。
for(i=0;i<n;i++)//n+1改为n,循环从0到n-1,共n次;否则多一次
{
gets(s[i]);
p[i]=s[i];
}
for(i=0;i<n;i++)//n+1改为n,循环从0到n-1,共n次;否则多一次
{
for(j=i+1;j<n;j++)//n+1改为n,循环从0到n-1,共n次;否则多一次
{
if(strcmp(p[i],p[j])==0)
t++;
}
for(j=i+1;j<n;j++)//n+1改为n,循环从0到n-1,共n次;否则多一次
{
if(strcmp(p[i],p[j])==0)
{
if(m<t)
{
m=t;
a=p[i];
}
}
}
t=0;
}
printf("%s",a);
return 0;
}
可拷贝试验,正确
追问嗯嗯,缓冲什么的之前不懂,谢谢!