问题描述
- poj上总是答案错误题号是1002 487-3279
- 错误的地方很有可能出现在我标记的地方(见程序),但是我本人找不出来,求帮忙!求指教输出就是不对不知道什么原因。
#include
#include
#include
#include
using namespace std;
int LetterToInt[26]=
{
};int DiaNum[100000];
int Numcounter[100000];int main()
{
int ijn;
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]!='';++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(DiaNumDiaNum+n);//排序 bool exist=false; for(i=0j=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 duplicatesn"";}return 0;
}
时间: 2024-09-17 04:08:01