解答代码
#include<iostream>#include<string>#include<cstring>#include<algorithm>using namespace std;int max(int a,int b){ if(a>b) return a; return b;}int main(){ string arr1,arr2; int result[512]; int i,a,b; while(cin>>arr1>>arr2) { memset(result,0,sizeof(result)); int len1=arr1.length(); int len2=arr2.length(); int len=max(len1,len2)+5; reverse(arr1.begin(),arr1.end()); reverse(arr2.begin(),arr2.end()); int temp=0,sum=0; for(i=0;i<len;i++) { if(i<len1) a=arr1[i]-'0'; else a=0; if(i<len2) b=arr2[i]-'0'; else b=0; sum=a+b+temp;//处理进位 temp=sum/10; result[i]=sum%10; } for(i=len-1;i>-1&& !result[i];i--) ; for(;i>-1;i--) cout<<result[i]; cout<<endl; } return 0;}
新闻热点
疑难解答