首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

ZOJ 1205 WA

2012-04-16 
ZOJ 1205 WA 求助实在没办法了....求助,谢谢各位了...#include string#includeiostream#include stdi

ZOJ 1205 WA 求助
实在没办法了....求助,谢谢各位了...
#include <string>
#include <iostream>
#include <stdio.h>
using namespace std;
int lhs[101];
int rhs[101];
int result[101];
int carry[101];
int length1;
int length2;
int length3;
int lengthcommom;
int carryHI=0;
void addB()
{

carryHI=0;
int i=lengthcommom-1;
carry[lengthcommom]=0;
for(;i>=0;--i)
{
carry[i]=(rhs[i]+lhs[i]+carry[i+1])/20;
result[i]=(rhs[i]+lhs[i]+carry[i+1])%20;
}
carryHI=carry[0];
}
int readin()
{
int i=0;
char cbuf;
while((cbuf=getchar())!='\n')
{
if(cbuf==EOF)return -1;
if(cbuf>='0'&&cbuf<='9')
{
lhs[i]=cbuf-'0';
++i;
}
else if(cbuf>='a'&&cbuf<='j')
{
lhs[i]=cbuf-'a'+10;
++i;
}
}
length1=i;
i=0;
while((cbuf=getchar())!='\n')
{
if(cbuf>='0'&&cbuf<='9')
{
rhs[i]=cbuf-'0';
++i;
}
else if(cbuf>='a'&&cbuf<='j')
{
rhs[i]=cbuf-'a'+10;
++i;
}
}
length2=i;
}
void allign()
{
int i=0;
if(length1<length2)
{
lengthcommom=length2;
while(i<=length1)
{
lhs[length2-i]=lhs[length1-i];
++i;
}
for(int i=0;i<length2-length1;++i)
{
lhs[i]=0;
}
}
else if(length2<length1)
{
lengthcommom=length1;
while(i<=length2)
{
rhs[length1-i]=rhs[length2-i];
++i;
}
/*for(int i=0;i<20;++i)
{
cout<<rhs[i];
}
cout<<endl;*/
for(int i=0;i<length1-length2;++i)
{
rhs[i]=0;
}
}
else 
{
lengthcommom=length1;
}
}
int main()
{
while(1)
{
for(int i=0;i<101;++i)
{
rhs[i]=0;
lhs[i]=0;
}
if(readin()==-1)return 0;
allign();
addB();
if(carryHI)
{
if(carryHI<=9&&carryHI>=0)
cout<<carryHI;
else 
cout<<(char)(carryHI-10+'a');
}
int flag=0;
for(int i=0;i<lengthcommom;++i)
{
if(result[i]<=9&&result[i]>0)
{
flag=1;
cout<<result[i];
}
else if(result[i]!=0)
{
flag=1;
cout<<(char)(result[i]-10+'a');
}
else if(result[i]==0&&flag==1)
cout<<0;
}
if(flag==0)
cout<<0;
cout<<endl;
}
return 0;
}

[解决办法]
终于给你找了一错,错了数据:
jjjjjj
1
你试下这组数据。

热点排行