题目链接:A+B Problem(高精) - 洛谷
题目难度:普及-
涉及知识点:高精度加法
题意:
分析:直接套用高精度加法模版即可
AC代码:
#include<bits/stdc++.h>
using namespace std;
int a[200],b[200],c[200];
int main()
{
char n[200],m[200];
cin>>n>>m;
int lenn=strlen(n);//计算两整数位数
int lenm=strlen(m);
for(int i=1; i<=lenn; i++)
{
a[i]=n[lenn-i]-'0';//倒叙进a数组中,以便从末位相加
}
for(int i=1; i<=lenm; i++)
{
b[i]=m[lenm-i]-'0';
}
int lenc=1;
int x=0;
while(lenc<=lenn||lenc<=lenm)//只要未加完
{
c[lenc]=a[lenc]+b[lenc]+x;//将每位数字相加,存入c数组
x=c[lenc]/10;//进位
c[lenc]%=10;//留个位,再加进位
lenc++;
}
c[lenc]=x;
while(c[lenc]==0&&lenc>1)//删除前导0
{
lenc--;
}
for(int i=lenc; i>=1; i--)//输出结果
{
cout<<c[i];
}
cout<<endl;
return 0;
}
总结:直接套用高精度加法模版即可