1
2024-07-05 16:43:31
发布于:北京
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[10086],b[10086];/*存两个数,最好逆序存入,正序的话有地方不方便*/
int c[10086];/*把两个数相加*/
int main(){
string s1,s2;cin>>s1>>s2;/*因为数字太大,所以用string,否则int存不下*/
int l1=s1.size(),l2=s2.size();
int len=max(l1,l2)-1;/*要把两个数加在一起,比较哪个数更长。因为下标从0开始,所以要想知道哪个的下标更大,还得-1*/
for(int i=0;i<l1;i++){/*遍历第一个数并存入a数组,因为l1指的是s1的长度,而s2指的就是第一个数*/
a[i]=s1[l1-i-1]-'0';
}
for(int i=0;i<l2;i++){/*同理,见上*/
b[i]=s2[l2-i-1]-'0';
}
for(int i=0;i<=len;i++){
c[i]+=a[i]+b[i];c[i+1]+=c[i]/10;c[i]%=10;
}
if(c[len+1]){len++;}
for(int i=len;i>=0;i--){cout<<c[i];}
return 0;
}
这里空空如也
有帮助,赞一个