#include<bits/stdc++.h>
using namespace std;
int na[1000],nb[1000];//加数与被加数
string add(string a, string b){
int lena,lenb;
lena=a.size();
lenb=b.size();
for(int i=0;i<lena;i++){//加数与被加数转为int并完成翻转
na[lena-i-1]=a[i]-'0';
}
for(int i=0;i<lenb;i++){
nb[lenb-i-1]=b[i]-'0';
}
int max=lena>lenb ? lena : lenb;
for(int i=0;i<max;i++){
na[i]+=nb[i];
na[i+1]+=na[i]/10;
na[i]%=10;
}
string ans;
if(na[max]) max++;//如果超过最大长度则长度增加+1
for(int i=max-1;i>=0;i--){
ans+=na[i]+'0';
}
return ans;
}
int main(){
string a,b;
cin>>a>>b;
cout<<add(a,b);
}
大整数相加--c/c++
于 2024-03-07 17:06:29 首次发布
本文介绍了一个使用C++编写的函数,将两个字符串类型的数字转换为整数数组,然后进行加法运算,并将结果转换回字符串形式。主要展示了字符串处理和基本算术操作的编程技巧。
摘要由CSDN通过智能技术生成