高精度A+B
2023-10-01 20:10:34
发布于:江苏
1阅读
0回复
0点赞
模拟加法运算即可,注意进位,最后要去掉前导0.
直接上AC代码
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[505],b[505],c[505];
int main()
{
cin>>s1>>s2;
int len1=s1.size(),len2=s2.size();
//1.逆序存储
for(int i=0;i<len1;i++)
{
a[i]=s1[len1-i-1]-48;
}
for(int i=0;i<len2;i++)
{
b[i]=s2[len2-i-1]-48;
}
//2.开始加法
int i,x=0;
int len=max(len1,len2);
for(i=0;i<len;i++)
{
c[i]=a[i]+b[i]+x;
x=c[i]/10;
c[i]%=10;
}
c[i]=x;
//3.前导0&&保留最后一个0
while(c[i]==0&&i) i--;
//4.逆序输出c
for(i;i>=0;i--) cout<<c[i];
return 0;
}
你的点赞是我的最大更新动力
点完赞再走
这里空空如也
有帮助,赞一个