设计题目: 大整数的四则运算
1. 功能简介: 编写出实现大整数之间相加,相减,相乘,相除的程序,并输出计算
结构。
课程设计要求: 采用模块化程序设计
源程序中应有足够的注释
必须上机调试通过
注重算法运用,优化存储效率与运算效率
需提交源程序 (含有注释 ) 及相关文件 ( 数据或数据库文件 );
提交设计报告书。
2. 总体结构:
数据初
判断运算符
号
加法 减法 乘法 除法 退出
正整数 非正整 转变为 转变为
转变为
流程图:
3 . 概要设计:
1)加法运算
利用两个整形数组分别存放两个数 a 和 b 的每一位的数值,最低位存放符号。如果 a
和 b 同号,从最低为开始计算,如果有进位则保存在高一位,本为则减 10,然后反序将计
算后的各个位的数值保存在一个数组 c 并输出,如果 a 和 b 都是负数则在前面要输出负号,
函数的返回值为 c 的位数。如果 a 和 b 异号,也即两个正整数相减,从最低位开始相减,如
果要借位则本位加 10 再相减,高一位要减 1,然后反序将计算后的各个位的数值保存在一
个数组 c 并输出,在前面要输出相应的符号位。
2 )减法运算
可将减法运算转化为加法运算,只要将被减数的符号改变即可。
3 )乘法运算
符号存放在最低位,将其中一个数 a 的每一位分别乘以另一个数 b 的每一位,并将结
果保存在数组 c 中,然后重复计算 a 的下一位跟 b 的每一位的乘积,把上一次计算保存在 c
的值加上本次计算后的值,并保存在 c 自身中,直到 a 的最高位,最后输出符号和相应的计
算结果。
4 )除法运算
利用乘法和减法,将除数分别乘以 1 到 9 ,直到其值大于等于被除数的对应的数,然后
被除数对应的数减去其乘积, 保存在一个数组中, 下一次循环把它归到被除数中继续做除法
运算,最后得到余数并输出。
4. 函数功能:
1. void init(int a[],int b[],int *p1,int *p2)
2. 功能说明:读入所要计算的数值,数据初始化
3. int plus(int a[],int b[],int c[],int m,int n)
4. 功能说明:两个正整数相加
3. void change(int a[],int b[],int m,int n)
功能说明:当两异号数相加时,改变其符号以符合加法运算
5. int minus(int a[],int b[],int d[],int m,int n)
6. 功能说明:两个正整数相减
5. void minusfun(int a[],int b[],int d[],int m,int n)
功能说明:判断两个异号数的相加方式
7. int multi(int a[],int b[],int c[],int m,int n)
8. 功能说明:两个正整数相乘
7. void print(long