微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

大数相加,两个大数

// Problem#: 7498 // Submission#: 1921005 // The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License // URI: http://creativecommons.org/licenses/by-nc-sa/3.0/ // All copyright reserved by informatic Lab of Sun Yat-sen University #include<stdio.h> #include<string.h> int main(){ char a[200],b[200]; while(scanf("%s %s",a,b)!=EOF){ int lofa,lofb; lofa=strlen(a); lofb=strlen(b); char atemp[lofa+2],btemp[lofb+2]; int i; for(i=lofa;i>0;i--){ atemp[i]=a[i-1]; } atemp[i]='0'; for(i=lofb;i>0;i--){ btemp[i]=b[i-1]; } btemp[i]='0'; int temp; if(lofa>=lofb){ i=0; while(i<lofb){ temp=btemp[lofb-i]+atemp[lofa-i]-48-48; if(temp>=10){ atemp[lofa-i]=temp-10+48; atemp[lofa-i-1]=atemp[lofa-i-1]+1; } else{ atemp[lofa-i]=temp+48; } i++; } temp=atemp[lofa-i]-48; while(i<lofa  && temp>=10){ atemp[lofa-i]=temp-10+48; atemp[lofa-i-1]=atemp[lofa-i-1]+1; i++; temp=atemp[lofa-i]-48; } i=0; while(atemp[i]=='0'){ i++; } if(i==lofa+1){ printf("0\n"); } else{ for(;i<lofa;i++){ printf("%c",atemp[i]); } printf("%c\n",atemp[i]); } } else{ i=0; while(i<lofa){ temp=btemp[lofb-i]+atemp[lofa-i]-48-48; if(temp>=10){ btemp[lofb-i]=temp-10+48; btemp[lofb-i-1]=btemp[lofb-i-1]+1; } else{ btemp[lofb-i]=temp+48; } i++; } temp=btemp[lofb-i]-48; while(i<lofb  && temp>=10){ btemp[lofb-i]=temp-10+48; btemp[lofb-i-1]=btemp[lofb-i-1]+1; i++; temp=btemp[lofb-i]-48; } if(btemp[0]!='0'){ printf("%s\n",btemp); } else{ for(i=1;i<lofb;i++){ printf("%c",btemp[i]); } printf("%c\n",btemp[i]); } } } return 0; }                                               

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐