ACM常考算法
sum=sum/10; }
for (i=blen-2;i>=0;i--) {
for (j=0;j<=i;j++) sum=sum+res[i-j][j]; result[k]=sum%10; k=k+1;
sum=sum/10; }
if (sum!=0) {result[k]=sum;k=k+1;} for (i=0;i<k;i++) result[i]+='0';
for (i=k-1;i>=0;i--) s[i]=result[k-1-i]; s[k]='\0';
while(1) {
if (strlen(s)!=strlen(a)&&s[0]=='0') strcpy(s,s+1); else
break; } }
4.精度计算——加法
语法:add(char a[],char b[],char s[]); 参数:
a[]: 被乘数,用字符串表示,位数不限 b[]: 乘数,用字符串表示,位数不限 t[]: 结果,用字符串表示 返回
null 值: 注意: 源程序:
空间复杂度为 o(n^2) 需要 string.h
void add(char a[],char b[],char back[]) {
int i,j,k,up,x,y,z,l; char *c; if (strlen(a)>strlen(b)) l=strlen(a)+2;else l=strlen(b)+2; c=(char *) malloc(l*sizeof(char)); i=strlen(a)-1; j=strlen(b)-1; k=0;up=0;
while(i>=0||j>=0) {
if(i<0) x='0'; else x=a[i];