| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
试了所有提供的数据,就是wrong,何解呀//真心不想改了
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
int n;
int num[3][1000];//存储加数,被加数,和
string a,b;
cin>>n;
while(n--)
{
cin>>a>>b;
memset(num,0,sizeof(num));
int len1=a.length() ;
int len2=b.length();
int t=0,p=0,temp1=0,temp2=0;
for(int i=0;i<len1;i++)
{
if(a[i]=='0'&&temp1==0)
continue;
if(a[i]=='0')
{
int p3=0;
for(int j=i+1;j<len1;j++)
{
if(a[j]!='0')
p3=1;
}
if(p3==0)
continue;
}
num[0][t++]=a[i]-'0';
temp1=1;
}
for(int i=0;i<len2;i++)
{
if(b[i]=='0'&&temp2==0)
continue;
if(b[i]=='0')
{
int p3=0;
for(int j=i+1;j<len1;j++)
{
if(b[j]!='0')
p3=1;
}
if(p3==0)
continue;
}
num[1][p++]=b[i]-'0';
temp2=1;
}
/*for(int i=0;i<t;i++)
{
cout<<num[0][i];
}
cout<<endl;
for(int i=0;i<p;i++)
{
cout<<num[1][i];
}
cout<<endl;*/
if(t==0&&p==0)
{
cout<<"0"<<endl;
continue;
}
for(int i=0;i<(t<p?p:t);i++)
{
num[2][i]+=num[0][i]+num[1][i];
if(num[2][i]>9)
{
num[2][i]-=10;
num[2][i+1]++;
}
}
int flag=0;
for(int i=0;i<(t<p?p+1:t+1);i++)
{
if(num[2][i]!=0)
flag=1;
if((i==(t<p?p:t))&&num[2][i]==0)
flag=0;
if(flag)
{
cout<<num[2][i];
}
}
cout<<endl;
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator