#include<bits/stdc++.h>
using namespace std;
char x[1000],y[1000];
char a[1000],b[1000];
int i,j;
void fanzhuanchucun()
{
for (i=strlen(a)-1,j=0;i>=0;i--,j++)
{
x[j]=a[i]-48;
}
for (i=strlen(b)-1,j=0;i>=0;i--,j++)
{
y[j]=b[i]-48;
}
}
void shushijisuan()
{
for (i=0;i<1000;i++)
{
x[i]+=y[i];
if (x[i]>=10)
{
x[i+1]++;
x[i]-=10;
}
}
}
int main()
{
scanf("%s",a);
scanf("%s",b);
fill(x,x+1000,'\0');
fill(y,y+1000,'\0');
fanzhuanchucun();
shushijisuan();
i=999;
while (x[i]=='\0') i--;
if (i<0) printf("0");
for (;i>=0;i--)
{
printf("%c",x[i]+48);
}
return 0;
}
using namespace std;
char x[1000],y[1000];
char a[1000],b[1000];
int i,j;
void fanzhuanchucun()
{
for (i=strlen(a)-1,j=0;i>=0;i--,j++)
{
x[j]=a[i]-48;
}
for (i=strlen(b)-1,j=0;i>=0;i--,j++)
{
y[j]=b[i]-48;
}
}
void shushijisuan()
{
for (i=0;i<1000;i++)
{
x[i]+=y[i];
if (x[i]>=10)
{
x[i+1]++;
x[i]-=10;
}
}
}
int main()
{
scanf("%s",a);
scanf("%s",b);
fill(x,x+1000,'\0');
fill(y,y+1000,'\0');
fanzhuanchucun();
shushijisuan();
i=999;
while (x[i]=='\0') i--;
if (i<0) printf("0");
for (;i>=0;i--)
{
printf("%c",x[i]+48);
}
return 0;
}
本文介绍了一个简单的字符串加法器程序,该程序通过反向转换两个输入的字符串,并将它们视为大整数进行逐位相加,最后输出结果。程序使用了C++标准库并展示了如何处理大数字的加法运算。
1425

被折叠的 条评论
为什么被折叠?



