高精度的十進位制加法

2021-06-22 21:15:40 字數 1297 閱讀 9099

#include

#include

#include

using namespace std;

void sub(const char *big, const char *small, char *result);

void reverse_str(char * str);

void two_positive_add(const char *num1, const char *num2, char *result)

else

carry = 0;

result[count++] = sum | 0x30;

--end1;

--end2;

}//num1的位數大於num2的位數

while (end1>=0)

else

carry = 0;

result[count++] = sum | 0x30;

--end1;

}//num2的位數大於num1的位數

if (end2>=0)

else

carry = 0;

result[count++] = sum | 0x30;

--end2;

}//最後一步需要判斷進製是否為0

if (carry!=0)

result[count++] = '1';

//主要新增是字串結束符''

result[count] = '\0';

}void positive_negactive_add(const char *positive, const char *negactive, char *result)

//去掉結果前面無效的0

while (result[count-1] == '0' && count!=1)

--count;

result[count] = '\0';

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

//乙個正數與乙個負數求和

if ((minus1 == false && minus2 ==true) || (minus1 == true && minus2 == false))

//兩個負數求和

if (minus1 == true && minus2 ==true)

//將result逆序過來

reverse_str(result);

}void reverse_str(char * str)

}int main()

鍊錶的十進位制加法

題目 給定兩個用鍊錶表示的整數,每個結點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912。高階 假設這些數字是正向存放的,請再做一遍。示例 輸入 6 1 7 2...

二十進位制的加法

題目描述 在二十進位制中,我們除了使用數字0 9以外,還使用字母a j 表示10 19 給定兩個二十進位制整數,求它們的和。輸入是兩個二十進位制整數,且都大於0,不超過100位 輸出是它們的和 二十進位制 且不包含首0。我們用字串來表示二十進位制整數。分析 在第一眼看到這道題的時候,我相信你也會有乙...

二十進位制數的加法

題目詳情 在二十進位制中,我們除了使用數字0 9以外,還使用字母a j 表示10 19 給定兩個二十進位制整數,求它們的和。輸入是兩個二十進位制整數,且都大於0,不超過100位 輸出是它們的和 二十進位制 且不包含首0。我們用字串來表示二十進位制整數。class program 二十進位制相加 字串...