大数相加(高精度)

来源:互联网 发布:js判断输入框是否为空 编辑:程序博客网 时间:2024/05/16 06:48
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;void fun(char s[],int c[]){for(int i=0;i<strlen(s);i++){c[i]=s[strlen(s)-1-i]-'0';}}int main(){char s1[15],s2[15];          //数组的大小决定数值的大小 while(~scanf("%s %s",s1,s2)){if(strcmp(s1,"0")==0&&strcmp(s2,"0")==0) break;int a[15],b[15],num;memset(a,0,sizeof(a)); //注意初始化 memset(b,0,sizeof(b));num=0;fun(s1,a);             //转化 fun(s2,b);for(int i=0;i<15;i++)   //数组相加 {if(a[i]+b[i]>9){b[i+1]+=(a[i]+b[i])/10;b[i]=(a[i]+b[i])%10;}elseb[i]=a[i]+b[i]; }for(int i=15;i>=0;i--)     //输出控制 {if(b[i]!=0){for(int j=i;j>=0;j--)printf("%d",b[j]);break;}}}return 0;} 

0 0