OJ 1137 浮點數加法

2021-06-20 15:55:44 字數 1257 閱讀 1140

#include #include #include #include using namespace std;

vectorve;

void getsum(string a,string b)

int k=a[i]-'0'+b[j]-'0'+inc;

int newk=k%10;

inc=k/10;

ve.push_back(newk);

i--;

j--;

}while(i>=0)

while(j>=0)

if(inc>0)

ve.push_back(inc);

i=0;

while(ve[i]==0)i++;

int sumsize=ve.size()-i;

reverse(ve.begin(),ve.end());

dot=ve.size()-dot+1;

i=0;

while(ve[i]=='0')i++;

for(;i>n)

}}int main(int argc, char *argv)

關鍵在小數點,計算對齊,前置0和後置0

題目描述:求2個浮點數相加的和

題目中輸入輸出中出現浮點數都有如下的形式:

p1p2...pi.q1q2...qj

對於整數部分,p1p2...pi是乙個非負整數

對於小數部分,qj不等於0

輸入:對於每組案例,第1行是測試資料的組數n,每組測試資料佔2行,分別是兩個加數。

每組測試資料之間有乙個空行,每行資料不超過100個字元

輸出:每組案例是n行,每組測試資料有一行輸出是相應的和。

輸出保證一定是乙個小數部分不為0的浮點數

樣例輸入:

2

0.111111111111111111111111111111

0.111111111111111111111111111111

10000000.655555555555555555555555555555

1.444444444444444444444444444445

樣例輸出:

0.222222222222222222222222222222

10000002.1

九度OJ 1137 浮點數加法

題目描述 求2個浮點數相加的和 題目中輸入輸出中出現浮點數都有如下的形式 p1p2 pi.q1q2 qj 對於整數部分,p1p2 pi是乙個非負整數 對於小數部分,qj不等於0 輸入 對於每組案例,第1行是測試資料的組數n,每組測試資料佔2行,分別是兩個加數。每組測試資料之間有乙個空行,每行資料不超...

九度OJ 1137 浮點數加法

本題本來想採用寫好的bigint模板直接套用,後來發現用高精度整數相當麻煩,於是直接使用字串加法器的方法進行重寫。debug過程 見 注釋。題目描述 求2個浮點數相加的和 題目中輸入輸出中出現浮點數都有如下的形式 p1p2.pi.q1q2.qj 對於整數部分,p1p2.pi是乙個非負整數 對於小數部...

浮點數加法

include includechar input 2 1000 int n char point1 1000 point2 1000 char int1 1000 int2 1000 int pointans 1000 int intans 1000 bool pointcarry int foo...