hdu 1753

来源:互联网 发布:大麦户源码php 编辑:程序博客网 时间:2024/06/05 18:29

难不难,就是写起来很麻烦


#include "stdio.h"#include "string.h"#define LEN 401void main(){int aa[LEN], ab[LEN], ba[LEN], bb[LEN], ca[LEN], cb[LEN];int aal, abl, bal, bbl, cal, cbl;char line[1000];int i, j, l, t, c, ta, tb, tt;freopen("in.txt", "r", stdin);while(gets(line)){l = strlen(line);memset(aa, 0, sizeof(aa));memset(ab, 0, sizeof(ab));memset(ba, 0, sizeof(ba));memset(bb, 0, sizeof(bb));memset(ca, 0, sizeof(ca));memset(cb, 0, sizeof(cb));aal = abl = bal = bbl = cal = cbl = 0;for(i=0; line[i]>='0'&&line[i]<='9'; i++) aa[i] = line[i]-48;aal = i;if(line[i++]=='.'){for(j=0; line[i]!=' '; j++)ab[j] = line[i++]-48;abl = j;}while(line[i]==' ') i++;for(j=0; i<l && line[i]!='.'; j++)ba[j] = line[i++]-48;bal = j;if(line[i++]=='.'){for(j=0; i<l && line[i]!=' '; j++)bb[j] = line[i++]-48;bbl = j;}c = 0;tt = abl > bbl ? abl : bbl;for(i=tt-1; i>=0; i--){if(i<=abl-1) ta = ab[i]; else ta = 0;if(i<=bbl-1) tb = bb[i]; else tb = 0;t = ta + tb + c;cb[i] = t%10;c = t/10;}cbl = tt;for(i=cbl-1; i>=0; i--)if(!cb[i]) cbl--;else break;j = 0;for(i=bal-1; i>=0; i--){if(aal - (bal-i)<0) ta = 0; else ta = aa[aal-(bal-i)];t = ta + ba[i] + c;ca[j++] = t%10;c = t/10;}if(aal>bal){for(i=aal-bal-1; i>=0; i--){t = aa[i] + c;ca[j++] = t%10;c = t/10;}}if(c) ca[j++] = 1;cal = j;for(i=cal-1; i>=0; i--) printf("%d", ca[i]);if(cbl){printf(".");for(i=0; i<cbl; i++) printf("%d", cb[i]);}printf("\n");}}


原创粉丝点击