#include <iostream>
#include <string>
using namespace std;
//---------大数相加——利用字符串
void bigAdd(string num1,string num2,string &res){
int carry=0;
int len1=num1.length()-1;
int len2=num2.length()-1;
res="";
while(len1>=0 || len2>=0){
int a=len1>=0 ? num1[len1--]-'0' : 0;//从最后一位开始相加,不够的补0
int b=len2>=0 ? num2[len2--]-'0' : 0;
int tmp=a+b+carry;
carry=tmp/10;//进位
res=to_string(long long(tmp%10))+res;
}
if(carry){//如果最高位有进位,加上
res=to_string(long long(carry))+res;
}
}
int main(){
string n1,n2,n3;
while(cin>>n1>>n2){
bigAdd(n1,n2,n3);
cout<<n3<<endl;
}
}
大数相加——string的使用(C++)
最新推荐文章于 2024-03-20 23:00:57 发布