void Long_Add(char sum[],char new[]) { int i,j; int len; int tempsum; int carry = 0; /*进位*/ len = strlen(new); /*从个位开始,按位相加,逢十进一*/ for(i=Max-1,j=len-1; i>=0,j>=0; i--,j--) { tempsum = sum[i]-'0'+new [j]-'0'+carry; sum[i] = tempsum%10+'0'; carry = tempsum/10; } while(carry > 0) /*处理最后一个进位*/ { tempsum = sum[i]-'0'+carry ; sum[i] = tempsum%10+'0'; carry = tempsum/10; i--; } return; }
void Output(char sum[]) {int i,n; /*寻找和的最高非零位*/ for(i=0;i<Max;i++) if(sum[i] != '0') break; /*输出计算出来的和*/ n=i; for(n;n<Max;n++) putchar(sum[n]); return ; } int main() { Input(a,b); Long_Add(sum,b); Output(sum); getch(); return 0;
首页 上一页 1 2 3 下一页 尾页 3/3/3