pku1002题 C语言

http://poj.org/problem?id=1002打开网址便能看到题目。我的问题是:从范例可以看到,明明12个数据,最后打印出来却只有9个,而我的程序计算出来1... http://poj.org/problem?id=1002
打开网址便能看到题目。
我的问题是:
从范例可以看到,明明12个数据,最后打印出来却只有9个,而我的程序计算出来12个被系统驳回Wrong answer
求大神指点
下图为我程序计算结果:
展开
 我来答
a601025382s
推荐于2016-04-10 · TA获得超过8624个赞
知道小有建树答主
回答量:781
采纳率:0%
帮助的人:676万
展开全部
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int cmp(const void *a, const void *b)
{
    return *(int *)a-*(int *)b;
}
int main()
{
    int n,a[100010]={0},i,j,k,t;
    char q[26]={'2','2','2','3','3','3','4','4','4','5','5','5','6','6','6','7','Q','7','7','8','8','8','9','9','9','Z'};
    char b[100010][100],data[10];
    scanf("%d",&n);
   for(i=0;i<n;i++)
    {
        scanf("%s",b[i]);
        k=0;
        for(j=0;j<strlen(b[i]);j++)
        {
            if(b[i][j]>='A'&&b[i][j]<='Z')
                data[k++] = q[b[i][j]-'A'];
            else if(b[i][j]>='0'&&b[i][j]<='9')
                data[k++]=b[i][j];
            else
                continue;
        }
        data[k] = '\0';
        a[i]=atoi(data);
    }
    qsort(a,n,sizeof(int),cmp);
    int count = 1;
    int head, tale;
    int flag = 0;
    for(i=0;i<n;i++){
        while(i<n-1 && a[i+1] == a[i]){
            count ++;
            i ++;
        }
        if(count > 1){
            head = a[i] / 10000;
            tale = a[i] % 10000;
            printf("%03d-%04d %d\n", head, tale, count);
            count = 1;
            flag = 1;
        }
    }
    if(!flag)
    printf("No duplicates.\n");
    return 0;
}

上述AC代码,题意是找出重复的号码,单个的不输出

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式