为啥不能用cout<<a+b;?
2025-09-20 14:28:02
发布于:北京
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main(){
//1、存储输入
string s1, s2;
int a[205] = {0}, b[205] = {0}, c[205] = {0}; //a:加数 b:被加数 c:和
cin >> s1 >> s2;
int len1 = s1.size(), len2 = s2.size();
//2、字符转为数字,倒序存储至整型数组中
for (int i = 0; i <=len1-1; i++) a[len1-1-i] = s1[i] - '0';
for (int i = 0; i <= len2-1; i++) b[len2-1-i] = s2[i] - '0';
//3、从个位(下标0的位置)开始做加法运算
int len3=max(len1,len2),jin=0;
for(int i=0;i<=len3-1;i++){
c[i]=a[i]+b[i]+jin;
jin=c[i]/10;
c[i]%=10;
}
if(jin>0)
c[len3++]=jin;
//4、从高位向低位输出
for (int i = len3-1; i >= 0; i--) cout << c[i];
return 0;
}
这里空空如也
有帮助,赞一个