https://www.acwing.com/problem/content/description/793/
c语言实现
#include<stdio.h>
#include<string.h>
char a[100010];
char b[100010];
int A[100010];
int B[100010];
int C[100010];
int main()
{
scanf("%s",a);
scanf("%s",b);
//计算字符串长度
int lena = strlen(a);
int lenb = strlen(b);
//字符数组转整数数组
for(int i = 0,j = lena-1;i < lena;i ++,j --)
{
A[i] = a[j]-'0';
}
for(int i = 0,j = lenb-1;i< lenb;i ++,j --)
{
B[i] = b[j]-'0';
}
//求两个字符串的最大长度
int max = lena > lenb ? lena : lenb;
int t = 0;
for(int i = 0;i < max;i++)
{
t += A[i] + B[i];
C[i] = t%10;
t/=10;
}
//判断最高位是否要进位
if(t!=0)//进位
{
C[max] = 1;
for(int i = max;i >= 0;i --)
{
printf("%d",C[i]);
}
}
else//不进位
{
for(int i = max-1;i >=0;i --)
{
printf("%d",C[i]);
}
}
}