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

高精度整数加法

https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6

#include <stdio.h>
#include <string.h>
#include <time.h>

int main() {
    
    char n1[10010] = {0};
    char n2[10010] = {0};
    char answer[10010] = {0};

    gets(n1);
    gets(n2);

    int tmp = 0;
    int p1 = strlen(n1) - 1;
    int p2 = strlen(n2) - 1;
    int p_answer = 0;
    for(; p1 >= 0 && p2 >= 0; --p1, --p2)
    {
        //加上进位
        tmp = (n1[p1]-'0') + (n2[p2]-'0') + tmp;
        if(tmp >= 10)
        {
            answer[p_answer++] = tmp % 10 + '0';
            tmp = 1; //往前进一
        }
        else {
            answer[p_answer++] = tmp + '0';
            tmp = 0;
        }
    }

    while(p1 >= 0)
    {
        tmp = n1[p1] - '0' + tmp;
        if(tmp >= 10)
        {
            answer[p_answer++] = tmp % 10 + '0';
            tmp = 1;
        }
        else {
            answer[p_answer++] = tmp + '0';
            tmp = 0;
        }
        
        -- p1;
    } 

    while(p2 >= 0)
    {
        tmp = n2[p2] - '0' + tmp;
        if(tmp >= 10)
        {
            answer[p_answer++] = tmp % 10 + '0';
            tmp = 1;
        }
        else {
            answer[p_answer++] = tmp + '0';
            tmp = 0;
        }
        
        -- p2;
    } 
    
    if(tmp > 0)
    {
        answer[p_answer ++] = tmp + '0';
    }
    
    for(-- p_answer; p_answer >= 0; -- p_answer)
    {
        putchar(answer[p_answer]);
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 16:22
主包是26应届生,投大厂简历一直过不了初筛,想问问大家有必要花钱改简历吗
Java抽象带篮子:我之前专门发个帖子说不要付费改简历的,里面还详细写了简历怎么写,你可以去看看
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q...:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务