C++大数相加

//实现的功能,用户输入任意的两个数,进行相加计算
1
#include <iostream> 2 using namespace std; 3 4 int main() { 5 //大数相加 6 string str1,str2; 7 cin>>str1>>str2; 8 int length1=str1.length(),length2=str2.length(),lengthmax=((length1>length2)?length1:length2)+1; 9 10 int *p1=new int[lengthmax]; 11 int *p2=new int[lengthmax]; 12 13 for(int i=0;i<lengthmax;i++) 14 { 15 if(i>=length1) 16 p1[i]=0; 17 else 18 p1[length1-i-1]=str1[i]-48; 19 if(i>=length2) 20 p2[i]=0; 21 else 22 p2[length2-i-1]=str2[i]-48; 23 } 24 25 26 for(int i=0;i<lengthmax-1;i++) 27 { 28 p1[i+1]+=(p1[i]+p2[i])/10; 29 p1[i]=(p1[i]+p2[i])%10; 30 } 31 cout<<"result="; 32 for(int i=0;i<lengthmax;i++) 33 { 34 if(!(i==0&&p1[lengthmax-1]==0)) 35 cout<<p1[lengthmax-1-i]; 36 37 } 38 39 return 0; 40 }

 

posted @ 2019-12-04 17:01  时光潜流  阅读(1230)  评论(2编辑  收藏  举报