大数相加模板
2010-07-11 09:56
218 查看
#include<stdio.h> #include<string.h> char sum[65]; void fun(char a[],char b[]) { int i,lena,lenb,len; lena=strlen(a); lenb=strlen(b); len=(lena<lenb)?lena:lenb; strrev(a);strrev(b); memset(sum,0,sizeof(sum)); for(i=0;i<len;i++) { sum[i]+=a[i]+b[i]-'0'; if(sum[i]>'9') { sum[i]-=10;sum[i+1]++; } } for(;i<lena;i++) { sum[i]+=a[i]; if(sum[i]>'9') { sum[i]-=10; sum[i+1]++; } } for(;i<lenb;i++) { sum[i]+=b[i]; if(sum[i]>'9') { sum[i]-=10; sum[i+1]++; } } if(sum[i]>0) sum[i]+='0'; strrev(sum);strrev(a);strrev(b); } int main() { char a[65],b[65]; while(scanf("%s %s",a,b)!=EOF) { fun(a,b); printf("%s/n",sum); } return 0; }