输入 n 表示颜色的个数,然后输入 n 个字符串代表颜色(当 n=0 时结束),打印出颜色个数最大的颜色
大家帮我看看这段代码为何错了?#include<stdio.h>
int main()
{
char color[20][10];//定义一个存放颜色的字符数组
int count[20]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};//定义一个计数的数组,令其初始值都为一
int i,j,a,b,n;
while(scanf("%d",&n)!=EOF&&n!=0)//输入颜色的个数定义为n
for(i=0;i<n;i++)//
{
scanf("%s",&color[i]);
for(j=i-1;j>=0;j--)
{
if(color[i]==color[j])//判断输入的字符串是不是跟之前的相等,如果相等,令count[j]加一,并使n、i减一
{
count[j]++;
n--;
i--;
}
}
}
a=count[0];
b=0;
for(j=1;j<i;j++)//找出count最大值,并使b=j
{
if(count[j]>a)
{
b=j;
a=count[j];
}
}
printf("%s\n",color[b]);
}