问一下这道程序在POJ上为什么会Wrong Answer呀?

POj上的题目1002,请各位大虾帮帮小弟呀,头都大了#include<stdio.h>#include<string.h>#include<stdlib.h>intCo... POj上的题目1002,请各位大虾帮帮小弟呀,头都大了
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int Comp(const void *p1,const void *p2)
{
return -strcmp((char *)p2,(char *)p1);
}
char judge(char a)
{switch(a)
{case 'A':
case 'B':
case 'C':return '2';
case 'D':
case 'E':
case 'F':return '3';
case 'G':
case 'H':
case 'I':return '4';
case 'J':
case 'K':
case 'L':return '5';
case 'M':
case 'N':
case 'O':return '6';
case 'P':
case 'R':
case 'S':return '7';
case 'T':
case 'U':
case 'V':return '8';
case 'W':
case 'X':
case 'Y':return '9';
default:return 0;
}
}
main()
{char s[100000][20]={0},temp[80]={0};
int i,len,j,n,q,count;
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{gets(s[i]);q=0;
len=strlen(s[i]);
for(j=0;j<len;j++)
{if(s[i][j]=='-') {continue;}
if(s[i][j]>='A'&&s[i][j]<='Z')
temp[q++]=judge(s[i][j]);
if(s[i][j]>='0'&&s[i][j]<='9') temp[q++]=s[i][j];
if(q==3) temp[q++]='-';
}
temp[q]='\0';
strcpy(s[i],temp);
}
qsort(s,n,sizeof(s[0]),Comp);
for(i=0;i<n;i++)
{
count=1;
while((strcmp(s[i+1],s[i])==0)) {i++;count++;}
if(count>1)
{printf("%s",s[i]);
printf(" %d\n",count);
}
}
}
我加了判断后输出printf("No duplicates.\n");还是WA,真不知道错在哪里了,哎,帮忙看看啦
展开
 我来答
chinahnpds
2010-07-28 · 超过13用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:37.2万
展开全部
没仔细看你的程序……不过,要求里说,如果没有重复的话,还要输出一句话,这里貌似没有吧。加一个控制量,最后判定下,输出与否。试试吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式