浮點數加法

2021-10-22 14:27:03 字數 1438 閱讀 4346

題目描述:

求2個浮點數相加的和 題目中輸入輸出**現浮點數都有如下的形式: p1p2…pi.q1q2…** 對於整數部分,p1p2…pi是乙個非負整數 對於小數部分,**不等於0。

輸入描述:

對於每組案例,每組測試資料佔2行,分別是兩個加數。

輸出描述:

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

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

#include

using

namespace std;

string add

(string sa, string sb)

int lenc = sc.

length()

;int lend = sd.

length()

; sa =

(lenc>lend)

?sc:sd;

sb =

(lenc>lend)

?sd:sc;

n =(lenc>lend)

?(lenc-lend)

:(lend-lenc)

;while

(n--

)/********下面是對對齊後的浮點數進行相加********/

int carry =0;

for(

int i = sa.

length()

-1; i>=

0; i--

)char value = sa[i]

-'0'

+sb[i]

-'0'

+carry;

result =

char

(value%10+

'0')

+result;

carry = value/10;

}while

(carry!=0)

return result;

}int

main()

return0;

}

改進:

#include

#include

/** \brief

整體來說,分為整數的相加和小數的相加,

整數部分分別存在z1和z2中,小數部分分別存在x1和x2中

剩下的就是字串的相加了

*/using

namespace std;

intmain()

int l=z1.

length()

-1;//整數部分相加

for(

int i=z2.

length()

-1;i>=

0;i--

)while

(l>=0)

cout<'.'

}

浮點數加法

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...

浮點數加法

求2個浮點數相加的和 題目中輸入輸出 現浮點數都有如下的形式 p1p2.pi.q1q2.對於整數部分,p1p2.pi是乙個非負整數 對於小數部分,不等於0 對於每組案例,每組測試資料佔2行,分別是兩個加數。每組案例是n行,每組測試資料有一行輸出是相應的和。輸出保證一定是乙個小數部分不為0的浮點數示例...

長浮點數加法

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