洛谷在线ide过了,但是WA了 源码:
#include<stdio.h>
#include<string.h>
char a[1000]={'0'},b[1000]={'0'},c[2000]={'0'};
void jiafa(char*a1,char*b1,char*c1,int wei);
void yiwei(char*p,int len_p0,int wei);
int max(int a,int b);
void jiancha(char*p1,int wei);
int main()
{ int i=0;
for(i=0;i<2000;i++)
{ c[i]='0';
}
gets(a);
gets(b);
char*a1=a,*b1=b,*c1=c;
int wei=0,j=strlen(a),k=strlen(b);
wei=max(j,k);
yiwei(a1,j,wei);
yiwei(b1,k,wei);
a1+=wei;
b1+=wei;
c1+=wei;
jiafa(a1,b1,c1,wei);
if(c[0]!='0'&&c[0]!='\0')
{ printf("%c",c[0]);
}
c1=&c[0];
for(i=2;i<=wei;i++)
{printf("%c",*(c1+i));
}
return 0;
}
void jiafa(char*a1,char*b1,char*c1,int wei)
{ int i;
for(i=0;i<wei;i++)
{ if((*(a1-i)+*(b1-i))>=106)
{ *(c1-i)=*(c1-i)+(*(a1-i)+*(b1-i))-58-48;
*(c1-i-1)=*(c1-i-1)+1;
}
else *(c1-i)=*(c1-i)+(*(a1-i)+*(b1-i))-48-48;
}
}
void yiwei(char*p,int len_p0,int wei)
{ int i,j=0;
for(j=wei+1-len_p0;j>=1;j--)
{ for(i=len_p0;i>=0;i--)
{ *(p+i+1)=*(p+i);
}
*p='0';
len_p0++;
}
}
int max(int a,int b)
{ if(a>b)
{ return(a);
}
else
return(b);
}
void jiancha(char*p,int wei)
{ int i=0;
for(i=0;i<wei;i++)
{ if(*(p+i)<=47||*(p+i)>=58)
{ *(p+i)='0';
}
}
}