0
已采纳
吕牧原
高级守护
高级守护
#include<iostream> #include<string.h> using namespace std; int main(){ char a[100001],b[100001]; int c[100001]; cin>>a>>b; int i,j,k=0; int r=0; for(i=strlen(a)-1,j=strlen(b)-1;i>=0&&j>=0;i--,j--){ int p=(a[i]-'0')+(b[j]-'0')+r; r=p/10; //进位 c[k++]=p%10; //余数加到数组中 } while(i>=0){ //如果b中的数加完了 int p=(a[i]-'0')+r; r=p/10; c[k++]=p%10; i--; } while(j>=0){ //如果a中的数加完了 int p=(b[j]-'0')+r; r=p/10; c[k++]=p%10; j--; } if(r){ //判断最高位有没有进位 c[k++]=r; } for(int i=k-1;i>=0;i--){ // 输出最后结果 cout<<c[i]; } return 0; }
吕牧原在2019-09-09 17:26:14追加了内容
这可不止是一维数组