我正在想辦法添加這兩個大數字,但奇怪的是輸出是71717171 ... 71 ...(重複)。你能告訴我的代碼有什麼問題嗎? (我是很新的編碼,所以如果有任何失誤請給有益的建議。)這段代碼有什麼問題?
#include <iostream>
int main() {
using namespace std;
char a[] = "37107287533902102798797998220837590246510135740250";
char c[] = "46376937677490009712648124896970078050417018260538";
char carry[52];
int p[52], q, r;
carry[0] = 0;
for (int b = 49; b >= 0; b--)
for (q = 0; q < 51; q++) {
p[q] = (((static_cast<int>(a[b] + c[b])) - 96) % 10) + static_cast<int>(carry[q]);
(carry[q + 1]) = (static_cast<int>(a[b] + c[b]))/10;
}
for (r = 0; r < 51; r++) {
cout << p[r];
}
cin.clear();
cin.get();
}
這是代碼高爾夫比賽嗎? – 0x499602D2
我得到'b'遍歷所有的數字,但是'q'做什麼?當您添加兩個數字時,您不會將一個數字的每個數字添加到另一個數字的每個數字,只是對應的數字。 –
爲什麼你添加了嵌套for循環? – dmckee