大数加法:
例题 hdu1002

#include<iostream> #include<cstring> #include<cstdio> using namespace std; #define N (1010) void big_add(char* res,char* sa,char* sb) { //add为进位,k表示res长度。 int ia,ib,add,k; ia = strlen(sa)-1; //从长度-1开始计算 ib = strlen(sb)-1; k=add = 0; while(ia>=0&&ib>=0) { int num = sa[ia] -'0'+ sb[ib] - '0' + add; add = num / 10; num %= 10; res[k++] = num + '0'; --ia; --ib; } while(ia>=0) { int num = sa[ia] - '0' + add; add = num / 10; num %= 10; res[k++] = num + '0'; --ia; } while(ib>=0) { int num = sb[ib] - '0' + add; add = num / 10; num %= 10; res[k++] = num + '0'; --ib; } if(add != 0) res[k++] = add + '0'; res[k] = '