兩個大數相加

2021-06-25 23:07:45 字數 985 閱讀 2617

兩個大數相加,暫時選擇簡單版本,使用兩個正整數相加,直接上**了,不再囉嗦了。

#include #define maxnum 10000

bool inspectcharvalid(char* value);

void add(char* num1, char* num2, char* result);

int main(int argc, char* argv)

; char num2[maxnum] = ;

std::cout << "請輸入乙個正整數:" << std::endl;

std::cin >> num1;

if (!inspectcharvalid(num1))

std::cout << "請輸入乙個正整數:" << std::endl;

std::cin >> num2;

if (!inspectcharvalid(num1))

char result[maxnum] = ;

add(num1, num2, result);

std::cout << "兩個整數相加結果: " << result << std::endl;

return 0;

}bool inspectcharvalid(char* value)

}return true;

}void add(char* num1, char* num2, char* result)

if (len2 > i)

if (sum < 10)

else

}if (carry > 0)

result[0] = carry + '0';

}}

測試結果如下:

請輸入乙個正整數:

123請輸入乙個正整數:

3456

兩個整數相加結果: 3579

press any key to continue

兩個大數相加

大數相加考慮到資料長度有限,因此採用字串的方式進行計算,還要考慮到進製的問題,看下 void big data add char num1,char num2 int intnum2 max len if num1 null num2 null length1 strlen num1 length2...

兩個大數相加

我們以前計算兩個整數的和,需要定義兩個整型變數來儲存兩個運算元。但是,若這兩個數大到任何整型型別都存放不下時,我們該怎麼來計算它們的和呢?這就是我們今天所討論的話題!解決思路 1 儲存問題 我們可以使用字串來儲存運算元,這樣不管運算元有多長都能放得下。2 計算問題 自定加法時,我們要考慮每一位的相加...

兩個大數相加

前言我們知道在計算機語言中數字的表示範圍都是有限制的,例如我們熟知的int,float,double,long int,long long int等這些型別表示的數字範圍都是限制的。如果我們要對位數達到幾百位,上千位,甚至上萬位大的整數進行計算,這些型別顯然不能實現,因此我們可以用一些演算法來實現這...