2 chenguangyao0203 chenguangyao0203 于 2013.09.17 11:37 提问

poj上总是答案错误题号是1002 487-3279

错误的地方很有可能出现在我标记的地方(见程序),但是我本人找不出来,求帮忙!求指教输出就是不对不知道什么原因。
#include
#include
#include
#include
using namespace std;
int LetterToInt[26]=
{
2,2,2,
3,3,3,
4,4,4,
5,5,5,
6,6,6,
7,7,7,7,
8,8,8,
9,9,9
};

int DiaNum[100000];
int Numcounter[100000];

int main()
{
int i,j,n;
while(scanf("%d",&n ) != EOF)//设置文件输入终止条件
{
DiaNum[n]=0x7FFFFFFF;
Numcounter[n]=0;
char str[20];
for (i=0 ; i {
DiaNum[i]=0;
Numcounter[i]=0;
cin>>str;

      /*可能就是下面这段错了*/
        for(int j=0;str[j]!='\0';++j)
        {
            if(str[j]>='0' && str[j] <= '9' )//如果输入为数字
                DiaNum[i]=DiaNum[i]*10+str[j]-'0';
            if(str[j]>='A'&&str[j]<='Z')//如果输入为字母
                DiaNum[i]=DiaNum[i]*10+LetterToInt[str[j]-'A'];
        }
    }
    //后面一段代码是控制输出
        sort(DiaNum,DiaNum+n);//排序
        bool exist=false;
        for(i=0,j=0;i<=n;)
        {
            if(DiaNum[j]==DiaNum[i])
            {
                ++i;
                Numcounter[j]++;
            }
            else
            {
            if(Numcounter[j]>1)
            {
                exist = true;
                cout<<DiaNum[i]/10000<<"-"<<DiaNum[i]%10000<<" "<<Numcounter[j]<<endl;

            }j=i;

            }
        }
        if(!exist)

            cout<<"No duplicates\n";
}
return 0;

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!