题解 | #高精度整数加法#
高精度整数加法
https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
#include <stdio.h>
#include <string.h>
int main() {
char str1[101], str2[101], result[102] = {0};
int carry = 0, i, j, k, len1, len2, sum;
scanf("%s %s", str1, str2);
len1 = strlen(str1);
len2 = strlen(str2);
i = len1 - 1;
j = len2 - 1;
k = 0;
while (i >= 0 || j >= 0) {
sum = carry;
if (i >= 0) sum += str1[i--] - '0';
if (j >= 0) sum += str2[j--] - '0';
carry = sum / 10;
result[k++] = sum % 10 + '0';
}
if (carry) {
result[k++] = carry + '0';
}
for (i = k - 1; i >= 0; i--) {
printf("%c", result[i]);
}
printf("\n");
return 0;
}

查看20道真题和解析