700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 设计一个程序实现两个任意长的整数(包括正数和负数) 任意精度实数的算术运算.要求

设计一个程序实现两个任意长的整数(包括正数和负数) 任意精度实数的算术运算.要求

时间:2022-01-29 21:28:59

相关推荐

设计一个程序实现两个任意长的整数(包括正数和负数) 任意精度实数的算术运算.要求

问题补充:

设计一个程序实现两个任意长的整数(包括正数和负数)、任意精度实数的算术运算.要求:(1)用动态链表存贮数据,每结点含一个整型变量,表示若干位数.(2)整数输入和输出按中国对于长整数的习惯表示,每3位1组,组间用逗号隔开.(3)实现加、减运算.(4)程序运行界面清晰实用.小弟是初学者,所以请各位大侠不吝赐教,在此我不求答案,只求思路与方法(请不要超出初学者应有的理解范围),比如用链表怎么实现存储,任

答案:

我觉得是这样,

链表可以这样设计 [C/C++]:

struct value

{ int flag;

int value;

struct value *next;

}flag表示标志位,可能的标志有:

enum{ FLAG_FUHAO,

FLAG_DIGITAL,

FLAG_DOT

}分别表示符号位,数字位和小数点位.

每次读入一个符号、数字或者小数点,就创建一个新节点并挂在当前链表的末尾.

value那项只有flag是flag_digital时有效,存入一个0~9的数值.

比如读入-12345.54321的话,你的链表就有12个节点,首节点是一个负号,接下来是1,2,3,4,5,然后是小数点标志,然后是5,4,3,2,1.

这样,存储的问题就解决了.

实际运算的时候,先遍历链表,找到小数点位,没有小数点的话,表示整个数据为整数.

小数点前面的m个节点是整数部分,小数点后面的n个节点是小数部分.

然后你需要从两条链表(参与运算的两个数)的小数点位开始,按照数学需要按对应位置,也就是链表的不同对应节点去计算,结果保存在一个新的链表里.当然,新链表需要有插入操作,呵呵.

大概就是这样,还有问题,欢迎继续咨询.

设计一个程序实现两个任意长的整数(包括正数和负数) 任意精度实数的算术运算.要求:(1)用动态链表存

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。