题解 | #高精度整数加法#

高精度整数加法

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]);
}
全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务