△UVA424 - Integer Inquiry(大数相加)
2014-04-24 19:47
399 查看
IntegerInquiry |
``Thissupercomputerisgreat,''remarkedChip.``IonlywishTimothywereheretoseetheseresults.''(Chipmovedtoanewapartment,onceonebecameavailableonthethirdflooroftheLemonSkyapartmentsonThirdStreet.)
Input
Theinputwillconsistofatmost100linesoftext,eachofwhichcontainsasingleVeryLongInteger.EachVeryLongIntegerwillbe100orfewercharactersinlength,andwillonlycontaindigits(noVeryLongIntegerwillbenegative).Thefinalinputlinewillcontainasinglezeroonalinebyitself.
Output
YourprogramshouldoutputthesumoftheVeryLongIntegersgivenintheinput.SampleInput
123456789012345678901234567890 123456789012345678901234567890 123456789012345678901234567890 0
SampleOutput
370370367037037036703703703670 自己写的太麻烦了,学习了别人的代码。
#include<cstdio> #include<string.h> #definemaxn1005 intsum[maxn]; voidadd(char*str) { inti,j,len; len=strlen(str); for(i=maxn-1,j=len-1;j>=0;i--,j--)//sum[maxn-1]存的是个位,sum[maxn-2]存的是十位…… { sum[i]+=str[j]-'0';//字符串,别忘了-'0' } for(i=maxn-1;i>0;i--) { if(sum[i]>9)//需要进位 { sum[i]-=10; sum[i-1]++; } } } intmain() { chars[maxn]; inti; memset(sum,0,sizeof(sum)); while(gets(s)!=0) { if(strcmp(s,"0")==0) break; add(s); } for(i=0;i<maxn;i++) { if(sum[i])//忽略前导0 break; } for(;i<maxn;i++) { printf("%d",sum[i]); } printf("\n"); return0; }
相关文章推荐
- UVA 424 - Integer Inquiry (大数相加问题)
- UVa 424 Integer Inquiry 【大数相加】
- UVA 424-Integer Inquiry(大数加法)
- POJ1503 UVA424 UVALive5399 Integer Inquiry【大数】
- uva 424 Integer Inquiry (大数加法)
- UVA 424 - Integer Inquiry(大数加法)
- uva 424 Integer Inquiry(大数加法)
- UVA 424 Integer Inquiry
- UVA 424 Integer Inquiry
- Integer Inquiry 大数相加
- UVA-424 - Integer Inquiry
- hdoj 1047 Integer Inquiry 【多个大数相加】
- hdu1047 Integer Inquiry 多次大数相加
- UVa 424 - Integer Inquiry
- uva424 Integer Inquiry
- UVa 424 Integer Inquiry
- UVA-424 Integer Inquiry
- HDU 1047 Integer Inquiry 多个大数相加
- uva 424 Integer Inquiry
- UVa 424 - Integer Inquiry