大数相加 算法

来源:互联网 发布:unity3d个人版 编辑:程序博客网 时间:2024/05/23 00:13
#define LENGTH 1005#define LAST LENGTH-2//函数要求sum的初始值均为0char* IntegerAddition(char *a, char *b, char *sum){int i, j, k, first;//从末位开始,把a与b对应位的和存入sum中,暂不处理进位for (i = strlen(a)-1, j = LAST; i >= 0; i--, j--){sum[j] = a[i] - '0';}for (i = strlen(b)-1, k = LAST; i >= 0; i--, k--){sum[k] += b[i] - '0';}//获取sum中结果的首位位置first = j < k ? j : k;//处理进位for (i = LAST; i >= first; i--){sum[i-1] += sum[i] / 10;sum[i] = sum[i] % 10 + '0';}//去除前导'0'while (sum[first] == '0' && first < LAST){first++;}//返回sum的首位地址return &sum[first];}


	
				
		
原创粉丝点击