64,639
社区成员
发帖
与我相关
我的任务
分享
//小改一下
#include <iostream>
#include <string>
using namespace std;
int sum[101];
void S(char *a,char *b)
{
int a_last = strlen(a)-1;
int b_last = strlen(b)-1;
int i, j, t;
memset(sum, 0, sizeof(int)*101);
for (i=0;;++i)
{
if (a_last>=0&&b_last>=0)
sum[i] = a[a_last--] - '0' + b[b_last--] - '0';
else if (a_last>=0) sum[i] = a[a_last--]-'0';
else if (b_last>=0) sum[i] = b[b_last--]-'0';
else break;
}
for (j = t = 0;j < i; ++j)
{
t += sum[j];
sum[j] = t%10;
t /= 10;
}
while (t) sum[j++] = t%10, t/=10;
}
int main(){
char a[100],b[100];
cin>>a>>b;
int na=strlen(a);
int nb=strlen(b);
S(a,b);
int k=100;
while(sum[k]==0) //找到sum中第一个不是零的位。
k--;
for(int i=k;i>=0;i--)
cout <<sum[i];
cout <<endl;
cin>>k;
}