【模板】高精度计算
大数相加:
1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 5 void add(char a[],char b[],char back[]) 6 { 7 int i,j,k,up,x,y,z,l; 8 char *c; 9 if(strlen(a) > strlen(b)) 10 l = strlen(a)+2; 11 else 12 l = strlen(b)+2; 13 c = (char*)malloc(l*sizeof(char)); 14 i = strlen(a)-1; 15 j = strlen(b)-1; 16 k = 0; 17 up = 0; 18 while(j>=0 || i>=0) 19 { 20 if(i<0) x = '0'; 21 else 22 x = a[i]; 23 if(j<0) y = '0'; 24 else 25 y = b[j]; 26 z = x-'0'+y-'0'; 27 if(up) 28 z++; 29 if(z>9) 30 { 31 up = 1; 32 z%=10; 33 } 34 else 35 up = 0; 36 c[k++] = z+'0'; 37 i--; 38 j--; 39 } 40 if(up) 41 c[k++] = '1'; 42 i = 0; 43 c[k] = '