本題本來想採用寫好的bigint模板直接套用,後來發現用高精度整數相當麻煩,於是直接使用字串加法器的方法進行重寫。
debug過程:
見**注釋。
題目描述:求2個浮點數相加的和
題目中輸入輸出中出現浮點數都有如下的形式:
p1p2...pi.q1q2...qj
對於整數部分,p1p2...pi是乙個非負整數
對於小數部分,qj不等於0
輸入:對於每組案例,第1行是測試資料的組數n,每組測試資料佔2行,分別是兩個加數。
每組測試資料之間有乙個空行,每行資料不超過100個字元
輸出:每組案例是n行,每組測試資料有一行輸出是相應的和。
輸出保證一定是乙個小數部分不為0的浮點數
樣例輸入:
20.111111111111111111111111111111
0.111111111111111111111111111111
10000000.655555555555555555555555555555
1.444444444444444444444444444445
樣例輸出:
0.22222222222222222222222222222210000002.1
2023年北京大學軟體所計算機研究生機試真題
答疑:
#include #include #define maxsize 1000
using namespace std;
int main()//strlen(s)>=strlen(t)
//cal
for (i=strlen(s)-1,j=strlen(t)-1;j>=0;i--,j--)
while (j<0&&i>=0&&c!=0)
//cut '0' at the end
for (int i=strlen(s)-1;s[i]=='0';i--)
s[i]='\0';
//output
if (c!=0)//if 是整數部分同長型,最後一位存在的進製會遺留在c裡,要把它輸出來
cout}return true;
}
九度OJ 1137 浮點數加法
題目描述 求2個浮點數相加的和 題目中輸入輸出中出現浮點數都有如下的形式 p1p2 pi.q1q2 qj 對於整數部分,p1p2 pi是乙個非負整數 對於小數部分,qj不等於0 輸入 對於每組案例,第1行是測試資料的組數n,每組測試資料佔2行,分別是兩個加數。每組測試資料之間有乙個空行,每行資料不超...
OJ 1137 浮點數加法
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 n...
浮點數加法
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...