设计题目: 大整数的四则运算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