time limit: 3000/1000 ms (j**a/others) memory limit: 32768/32768 k (j**a/others) total submission(s): 4947 accepted submission(s): 1646
problem description
話說,經過了漫長的乙個多月,小明已經成長了許多,所以他改了乙個名字叫「大明」。 這時他已經不是那個只會做100以內加法的那個「小明」了,現在他甚至會任意長度的正小數的加法。
現在,給你兩個正的小數a和b,你的任務是代表大明計算出a+b的值。
input
本題目包含多組測試資料,請處理到檔案結束。 每一組測試資料在一行裡面包含兩個長度不大於400的正小數a和b。
output
請在一行裡面輸出輸出a+b的值,請輸出最簡形式。詳細要求請見sample output。
sample input
1.1 2.9
1.1111111111 2.3444323343
1 1.1
sample output
43.4555434454
2.1author
linle
source
2007省賽集訓隊練習賽(6)_linle專場
recommend
lcy完全死磕做完的...沒想出好的辦法..>
#include #include#define max 401+3
char
a[max],b[max],c[max],a1[max],b1[max];
intp;
void jia(char str1,char
str2)
if(z) c[k++]='1'
;
for(--k;k>=0;k--)
}void jia1(char str1,char
str2)
else
c[k++]=z%10+'0'
; z=z/10
; }
if(z) p=1
; j=0
;
while(c[j]=='0'
)
i=0;
for(--k;k>=j;k--)
a1[i++]=c[k];
a1[i]='\0'
;}intmain()
a[j]='
\0'; //
a正數部分
j=0;
while(x[++i]!='
\0'&&i<=strlen(x)-1
)
a1[j]='
\0'; //
a小數部分
i=0,j=0
;
while(y[i]!='
.'&&i<=strlen(y)-1
)
b[j]='
\0'; //
b正數部分
j=0;
while(y[++i]!='
\0'&&i<=strlen(y)-1
)
b1[j]='
\0'; //
b小數部分
jia1(a1,b1);
jia(a,b);
if(strlen(a1))
printf(
".%s
",a1);
printf("\n
");}
return0;
}
HDU1753 大明A B 大數
include includeusing namespace std int carry 0 string get sum string str1,string str2 tmp 0 max str index in max tmp index in min index in max while c...
HDOJ 1753 大明A B (大數加法)
problem description 話說,經過了漫長的乙個多月,小明已經成長了許多,所以他改了乙個名字叫 大明 這時他已經不是那個只會做100以內加法的那個 小明 了,現在他甚至會任意長度的正小數的加法。現在,給你兩個正的小數a和b,你的任務是代表大明計算出a b的值。input 本題目包含多組...
HDOJ 1753 大明A B (大數加法)
problem description 話說,經過了漫長的乙個多月,小明已經成長了許多,所以他改了乙個名字叫 大明 這時他已經不是那個只會做100以內加法的那個 小明 了,現在他甚至會任意長度的正小數的加法。現在,給你兩個正的小數a和b,你的任務是代表大明計算出a b的值。input 本題目包含多組...