问题描述
- 如何将两个字符数组里的数字相加得出两组数的和
-
char a[1000],b[1000]
两个数组里都是数字
解决方案
void Add(char a[],char b[],char d[])
{
char c[10001];
int lena=strlen(a),lenb=strlen(b);
int i,j,len;
len=lena>lenb?lena:lenb;
len++;
c[0]='';
for(i=1;i<=len;i++)c[i]='0';
for(i=1;i<=lena;i++)c[i]+=a[lena-i]-48;
for(i=1;i<=lenb;i++)c[i]+=b[lenb-i]-48;
for(i=0;i<=len;i++)
if(c[i]>57)
{
c[i]-=10;
c[i+1]++;
}
for(i=len;i>1;i--)
if(c[i]==48)len--;
else break;
for(i=0;i<=len;i++)
d[i]=c[len-i];
}
char c[120];
Add(a,b,c);
printf("%s", c);
时间: 2024-09-10 04:44:17