/*
* 大数加大数
* sum=num1+num2
*/
void big_Add_big(char num1[], char num2[], char sum[])
{
int m[1000] = {0}, n[1000] = {0}, p[1000] = {0};
int len_num1 = strlen(num1);
int len_num2 = strlen(num2);
for (int i = 0; i < len_num1; ++i)
m[i] = num1[len_num1 - i - 1] - '0';
for (int i = 0; i < len_num2; ++i)
n[i] = num2[len_num2 - i - 1] - '0';
int len = len_num1 > len_num2 ? len_num1 : len_num2;
for (int i = 0; i < len; ++i)
p[i] = m[i] + n[i];
for (int i = 0; i < len; ++i)
if (p[i] >= 10) {
p[i + 1] += p[i] / 10;
p[i] %= 10;
}
if (p[len] > 0)
len++;
for (int i = 0; i < len; ++i)
sum[i] = p[len - i - 1] + '0';
sum[len] = '\0';
}
大数加法(仅能处理正数)
最新推荐文章于 2022-11-20 19:51:22 发布