题解 | #高精度整数加法#
高精度整数加法
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;
} 

字节跳动公司福利 1309人发布