大数相加模板 hdoj 1002
A + B Problem II 一样的题目,不一样的做法; #include<stdio.h> #include<string.h> #include<stdlib.h> #define M 1000 char a[M]; char b[M]; char sum1[M]; char sum2[M]; int sum[M+100]; int main() { int T,ca; scanf("%d",&T); for(ca=1;ca<=T;ca++) { memset(a,sizeof(a)); memset(b,sizeof(b)); memset(sum1,sizeof(sum1)); memset(sum2,sizeof(sum2)); memset(sum,sizeof(sum)); int i,j,l,d,t; scanf("%s%s",a,b); for(i=strlen(a)-1,j=0;i>=0;i--,j++) ? ? ?sum1[j]=a[i]-'0'; ? ? ? ? ? for(i=strlen(b)-1,j++) ? ? ? sum2[j]=b[i]-'0'; ? ? ?? ? ? ?l=strlen(a)>=strlen(b)?strlen(a):strlen(b);? ? ? ? ? ? ? ? ?for(i=0;i<l;i++) ? ? ? ? ? ? ?sum[i]=sum1[i]+sum2[i]; ? ? ? ? ? ? ?for(i=0;i<l;i++) ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? if(sum[l-1]>9) ? ? ? ? ? ? ? ? l++; ? ? ? ? ? ? ? ? if(sum[i]>9) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? sum[i]-=10; ? ? ? ? ? ? ? ? sum[i+1]+=1; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? printf("Case %d:n",ca); ? printf("%s + %s ?= ",b); ? for(i=l-1;i>=0;i--)? ? ? ? ? { ? ? ? ? ?printf("%d",sum[i]); } printf("n"); ? ?if(ca<T) ? ? ?printf("n"); } }(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |