输入两个正整数(最多100000位),输出它们的和。
标签:
两行,两个整数。
一行,一个整数
#include<iostream>
#include<cstring>
using
namespace
std;
int
main()
{
char
s1[100000],s2[100000];
int
a[100000],b[100000],c[100001];
int
len,len1,len2,i;
cin>>s1;
cin>>s2;
memset
(a,0,
sizeof
(a));
memset
(b,0,
sizeof
(b));
memset
(c,0,
sizeof
(c));
len1=
strlen
(s1);
for
(i= 0;i<len1;i++)
a[i]=s1[len1-i-1]-
‘0‘
;
len2=
strlen
(s2);
for
(i= 0;i<len2;i++)
b[i]=s2[len2-i-1]-
‘0‘
;
if
(len1>len2)
len=len1;
else
len=len2;
for
(i= 0;i<len;i++)
{
c[i+1]=(a[i]+b[i]+c[i] )/ 10;
c[i]=(c[i]+a[i]+b[i] )% 10;
}
if
(c[len]>0)
len=len+1;
for
(i=len-1;i>=0;i--)
cout<<c[i];
// system("pause");
return
0;
标签:
原文地址:http://www.cnblogs.com/cutter-PRO/p/4471256.html