本帖最后由 jhq999 于 2022-9-27 20:23 编辑 #include <stdio.h>
char* sum(char *s1,char *s2)
{
int i=0,j=0,k=0;
char* t=NULL;
for(i=0;s1[i];i+=1);
for(j=0;s2[j];j+=1);
if(i<j)
{
t=s1,s1=s2,s2=t;
i=i+j,j=i-j,i=i-j;
}
i+=1;
for(k=i;k>0;k-=1)s1[k]=s1[k-1];
s1[0]='0';
for(k=i;j>=0;j-=1,i-=1)
{
s1[i]+=s2[j]-'0';
}
for(i=k;i>=0;i-=1)
{
if('2'==s1[i])s1[i]='0',s1[i-1]+=1;
else if('3'==s1[i])s1[i]='1',s1[i-1]+=1;
}
for(i=0;'0'==s1[i];i+=1);
return s1+i;
}
int main(void)
{
char s1[256]={0},s2[256]={0};
scanf("%s %s",s1,s2);
printf("%s",sum(s1,s2));
return 0;
}
110101 111010011
1000001000
|