您的位置:首页 > 产品设计 > UI/UE

hdu 1047 Integer Inquiry

2012-04-02 09:20 447 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1047 大数相加,没AC

View Code

#include<iostream>
#include<vector>
#include<cstring>
#include<cstdlib>
using namespace std;
void add(string a,string b,string &sum)
{
sum="";
int alen=a.length(),blen=b.length();
int i=alen-1,j=blen-1,extra=0,x,y,temp;
char c;
while(i>=0 && j>=0 )
{
x=a[i]-'0';
y=b[j]-'0';
temp=x+y+extra;
if(temp<10) c=temp+'0',sum=c+sum,extra=0;
else
{
extra=1;
c=temp%10+'0';
sum=c+sum;
}
i--;j--;
}
if(i<0) i=j,a=b;
for(;i>=0;i--)
{
temp=(a[i]-'0')+extra;
if(temp<10) extra=0,c=temp+'0',sum=c+sum;
else
{
extra=1;
c=temp%10+'0';
sum=c+sum;
}
}
if(extra) c=extra+'0',sum=c+sum;
//cout<<"sum:"<<sum<<endl;
}
int main()
{
int t;
cin>>t;
while(t--)
{
string a,b,s;
while(cin>>a)
{
if(a.length()==1 && a[0]=='0') break;
s="";
add(a,b,s);
b=s;
}
cout<<s<<endl;
if(t) cout<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: