设计题目: 大整数的四则运算 1
功能简介:编写出实现大整数之间相加,相减,相乘,相除的程序,并输出计算结构
课程设计要求:采用模块化程序设计 源程序中应有足够的注释 必须上机调试通过 注重算法运用,优化存储效率与运算效率 需提交源程序(含有注释)及相关文件(数据或数据库文件); 提交设计报告书
总体结构: 流程图: 数据初判断运算符号 加法 正整数 非正整转变为减法 转变为乘法 除法 转变为退出 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,直到其值大于等于被除数的对应的数,然后被除数对应的数减去其乘积,保存在一个数组中,下一次循环把它归到被除数中继续做除法运算,最后得到余数并输出
函数功能: 1
void init(int a[],int b[],int *p1,int *p2) 2