題目描述:
求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行,每組測試資料有一行輸出是相應的和。輸出保證一定...