题解 | #高精度整数加法#
高精度整数加法
http://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
#include<stdio.h>
#include<string.h>
int main()
{
char str1[10000], str2[10000];
int num1[10000], num2[10000], num[10000];
gets(str1);
gets(str2);
int len1 = strlen(str1);
int len2 = strlen(str2);
long long n1=0, n2=0, sum=0;
for(int i=0; i<len1; i++)
{
num1[i] = str1[len1-1-i]-'0';
}
for(int i=0; i<len2; i++)
{
num2[i] = str2[len2-1-i]-'0';
}
int len = len1 > len2 ? len1 : len2;
int flag = 0;
for(int i=0; i<len+1; i++)
{
int sum = num1[i] + num2[i] + flag;
if(sum < 10)
{
num[i] = sum;
flag = 0;
}
else
{
num[i] = sum % 10;
flag = 1;
}
}
if(num[len])
printf("%d", num[len]);
for(int i=len-1; i>=0; i--)
printf("%d", num[i]);
}