HDOJ1002大数相加
发布时间:2020-12-14 03:52:02 所属栏目:大数据 来源:网络整理
导读:#includecstdio#includecstringint main(void){ int cass; int cc = 0; char a[1005],b[1005]; while(~scanf("%d",cass)){ int count = 1; while(cc++ cass){ scanf("%s%s",a,b); int lenofa = strlen(a); int lenofb = strlen(b); int last = (lenofa lenof
#include<cstdio> #include<cstring> int main(void){ int cass; int cc = 0; char a[1005],b[1005]; while(~scanf("%d",&cass)){ int count = 1; while(cc++ < cass){ scanf("%s%s",a,b); int lenofa = strlen(a); int lenofb = strlen(b); int last = (lenofa < lenofb ? lenofb:lenofa) - 1; int incre = 0; int i = lenofa-1; int j = lenofb-1; int k = 0; int c[1005]; while(i >= 0&&j >= 0){ c[last] = a[i]-'0' + b[j]-'0' + incre; incre = (c[last]>=10 ? 1: 0); c[last--] %= 10; i--; j--; } while(j >= 0){ c[j] = b[j] - '0' + incre; incre = (c[j]>=10 ? 1: 0); c[j] %= 10; j--; } while(i >= 0){ c[i] = a[i] - '0' + incre; incre = (c[i]>=10 ? 1: 0); c[i] %= 10; i--; } printf("Case %d:n",count); for( i = 0; i < lenofa; i++) putchar(a[i]); putchar(' '); putchar('+'); putchar(' '); for( i = 0; i < lenofb; i++) putchar(b[i]); putchar(' '); putchar('='); putchar(' '); if(incre) putchar('1'); for(; k < (lenofa < lenofb ? lenofb:lenofa); k++) printf("%d",c[k]); putchar('n'); if(count < cass) putchar('n'); count++; memset(a,NULL,sizeof(a)); memset(b,sizeof(b)); } cc = 0; } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |