【发布时间】:2016-01-26 21:21:11
【问题描述】:
最近在我的大学里,我被要求用 C 编写一个计算器。这是一个完整的任务:
计算器——程序应该允许执行基本的数学运算 整数运算(加法、减法、乘法、除法) 以及任何长度和精度的实数。
我的想法是将每个数字存储在双向链表的单独“块”中。我已经设法在没有任何严重问题的情况下进行加法和减法,使用这种方法效果很好。但是乘法和除法是一个问题。我不知道我应该如何照顾它。我应该也使用链表还是有另一种更好的方法?请给我任何想法!请记住,这是我学习的第一学期,所以它不应该太复杂。谢谢!
【问题讨论】:
-
可能的答案太多,或者对于这种格式来说,好的答案太长了。请添加详细信息以缩小答案范围或隔离可以在几段中回答的问题。
-
这是交易。我为你的家庭作业编写了代码。在你装饰我的休息室后,我会这样做。
-
值得注意的是,如果您的计算器只需要接受十进制数字(例如
1.7)和四个基本算术运算符,您只需要弄清楚如何表示rational numbers,即比代表所有real numbers 容易得多。 -
显示示例输入和输出。算术表达式有多长?括号是否允许更改顺序或操作?你是如何使用链表的?如果要求是根据选择菜单一次只加/减/乘/除 2 个数字,那么答案很简单
-
这是一个很好的练习。是的,使用链表。乘法应该很简单。当然,您需要跟踪小数点的位置。对于除法,我建议您像在文法学校学习的那样进行长除法。那么你需要有一种方法来终止长分数。
标签: c linked-list calculator arithmetic-expressions