关于航电acm1004总是WA,原题基础上颜色数目相同就按字母序全部输出 5C

感觉结果没毛病啊然鹅T _ T
要求:如果数目相同,按字母序全部输出,每种颜色一行
A test case with N = 0 terminates the input and this test case is not to be processed.

Sample Input:
5
green
red
blue
red
red
3
pink
orange
pink
0
Output:
red
pink

下面是我的代码和运行结果:

 #include<string.h>
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
        if(n==0) 
            break;
        char a[1000][16];
        int b[1000]={0};
        char c[16];
        int i,j;
        getchar();
        for(i=1;i<=n;i++)
        {
            gets(a[i]);
        }

        for(i=1;i<=n-1;i++)
        {
            for(j=i+1;j<=n;j++)
            {
                if(strcmp(a[j],a[i])<0)
                {
                    strcpy(c,a[i]);
                    strcpy(a[i],a[j]);
                    strcpy(a[j],c);
                }       
            }
        }
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
                if(strcmp(a[i],a[j])==0)
                b[i]++;
        }
        int max=1,m=1;
        for(i=1;i<=n;i++)
        {
            if(b[i]>max)
            {
                m=i;
                max=b[i];
            }
        }
        if(max==1)
        {
            for(i=1;i<=n;i++)
                cout<<a[i]<<endl;
        }
        else
        {
            cout<<a[m]<<endl;
            for(i=m+1;i<=n;i++)
            {
                if((b[i]==max)&&(strcmp(a[i],a[m])!=0))
                    cout<<a[i]<<endl;
                    m=i;
            }
        }
    }
    return 0;
}

图片说明

1个回答

terrortafan
terrortafan 不好意思题目和原题不一样的,加了按字典序排序和多个最大值的问题
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问