题目描述:
给定 2 个正整数 a, b,a 和 b 最多可能有 40 位,求出 a + b 的和。
输入描述:
两个正整数 a, b,a 和 b 最多可能有 40 位。一行表示一个数。
输出描述:
a + b 的和。
样例输入:
111111111111111111111111111111111111111
222222222222222222222222222222222222222
样例输出:
333333333333333333333333333333333333333
1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 int main(){ 5 char s1[200],s2[200]; 6 int a[200]={0},b[200]={0},l1,l2,c,k,i; 7 gets(s1); 8 gets(s2); 9 l1=strlen(s1); 10 l2=strlen(s2); 11 if(l1<l2) k=l2; 12 else k=l1;c=k; 13 for(i=0;i<l1;k--,i++) 14 a[k]=s1[l1-1-i]-‘0‘; 15 for(k=c,i=0;i<l2;k--,i++) 16 b[k]=s2[l2-1-i]-‘0‘; 17 for(i=c;i>=0;i--){ 18 a[i]+=b[i]; 19 if(a[i]>=10){ 20 a[i]=10; 21 a[i-1]++; 22 } 23 } 24 if(a[0]!=0){ 25 for(i=0;i<=c;i++) 26 cout<<a[i]; 27 }else{ 28 for(i=1;i<=c;i++) 29 cout<<a[i]; 30 } 31 }
原文:https://www.cnblogs.com/cc99/p/11478234.html