注册 登录
编程论坛 程序供求

输入 n 表示颜色的个数,然后输入 n 个字符串代表颜色(当 n=0 时结束),打印出颜色个数最大的颜色

立方体fly 发布于 2014-11-17 22:27, 4827 次点击
大家帮我看看这段代码为何错了?
#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]);
}
3 回复
#2
tlliqi2014-11-23 23:59
去C区问下
#3
love云彩2014-11-24 13:20
有分的地方总少不了楼上的
#4
wp2319572014-11-24 13:37
以下是引用love云彩在2014-11-24 13:20:35的发言:

有人的地方就有江湖
1