思想:
用字符串来控制输入,数组来存储,数组的低位存整数的低位,高位来存储高位,
和:计算的过程基本上和小学生列竖式做加法相同。
差:跟和差不多
乘:计算的过程基本上和列竖式做乘法相同。为编程方便,并不急于处理进位,而将进位问题留待最后统一处理
除:基本的思想是反复做减法,看看从被除数里最多能减去多少个除数,商就是多少。一个一个减显然太慢,如何减得更快一些呢?以7546除以23 为例来看一下:开始商为0。先减去23 的100 倍,就是2300,发现够减3 次,余下646。于是商的值就增加300。然后用646 减去230,发现够减2次,余下186,于是商的值增加20。最后用186 减去23,够减8 次,因此最终商就是328。
n的核心是要写一个大整数的减法函数,然后反复调用该函数进行减法操作。 计算除数的10倍、100 倍的时候,不用做乘法,直接在除数后面补0 即可。
void sum(char *str1,char *str2,int MAX_LEN);
void substract(char *str1,char *str2,int MAX_LEN);
void product(char *str1,char *str2,int MAX_LEN);
void divide(char *str1,char *str2,int MAX_LEN);
int main(int argc, const ch