方法:這裡用了資料結構棧,實際上棧更方便實現高精度加法。
步驟:1、第乙個資料加數按輸入順序(高位到低位)入棧1。此時棧頂為最低位
2、第二個資料加數按輸入順序(高位到低位)入棧2。此時棧頂為最低位
3、將棧1、棧2均pop出棧頂做加法,並考慮進製,結果入棧3,這時棧3正好是低位入棧。
4、處理多餘的棧1、棧2。
5、直接pop出棧3,即正好的從高位到低位的結果。
完整的實現**如下:
#include "iostream"
#include "stack"
using namespace std;
stacks1;
stacks2;
stacks3;
char c1[100];
char c2[100];
int main(void)
{ printf("請輸入第乙個加數:");
cin>>c1;
printf("請輸入第二個加數:");
cin>>c2;
int len1=strlen(c1);
int len2=strlen(c2);
for(int i=0;i
執行效果圖如下:
任意長度的高精度大整數加法
方法 這裡用了資料結構棧,實際上棧更方便實現高精度加法。步驟 1 第乙個資料加數按輸入順序 高位到低位 入棧1。此時棧頂為最低位 2 第二個資料加數按輸入順序 高位到低位 入棧2。此時棧頂為最低位 3 將棧1 棧2均pop出棧頂做加法,並考慮進製,結果入棧3,這時棧3正好是低位入棧。4 處理多餘的棧...
任意長度的高精度大整數加法
方法 這裡用了資料結構棧,實際上棧更方便實現高精度加法。步驟 1 第乙個資料加數按輸入順序 高位到低位 入棧1。此時棧頂為最低位 2 第二個資料加數按輸入順序 高位到低位 入棧2。此時棧頂為最低位 3 將棧1 棧2均pop出棧頂做加法,並考慮進製,結果入棧3,這時棧3正好是低位入棧。4 處理多餘的棧...
高精度 大整數加法
求兩個不超過200位的非負整數的和。有兩行,每行是乙個不超過200位的非負整數,可能有多餘的前導0。一行,即相加後的結果。結果裡不能有多餘的前導0,即如果結果是342,那麼就不能輸出為0342。22222222222222222222 33333333333333333333 本題考察的是高精度計算...