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

高精度整数加法

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

程序写复杂了,但也是过了,嘿嘿有简单可以给解说一下
#include<stdio.h>
#include<string.h>
int main()
{
    char  n[10000]={0},m[10000]={0};
    while(gets(n)&&gets(m))
    {
        int i,j,len1,len2;
        int k1[10000]={0};
        int k2[10000]={0};
        int k3[10000]={0};
        len1=strlen(n);
        len2=strlen(m);
        for(i=0;i<len1;i++)
        {
            k1[i]=n[len1-i-1]-'0';
        }
        for(j=0;j<len2;j++)
        {
            k2[j]=m[len2-j-1]-'0';
        }
        int flag=0;
        int p=0;
        if(len1>=len2)
        {
            p=len1;
        }
        else{
            p=len2;
        }
        for(i=0;i<p;i++)
        {

                flag=k1[i]+k2[i]+flag;
                k3[i]=flag%10;
                flag=flag/10;

        }
        if(flag==1)
            printf("%d",flag);
       for(int i=p-1;i>=0;i--)
            {
                if(i>0)
                   printf("%d",k3[i]);
                 else
                   printf("%d\n",k3[i]);
            }
     }
    return 0;
}



全部评论

相关推荐

totoroyyw:千年老妖😂
投递华为等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务