【发布时间】:2013-03-26 05:31:10
【问题描述】:
考虑需要处理可以有数百位数字的整数。让我们称它们为“超长”整数。显然,它们不能使用 int 或 long int 等数据类型存储。 “超长”整数可以作为用户的输入,逐位读取,并存储在数组中,超长整数的每个数字在数组中占据一个位置。该问题涉及将两个正的“超长”整数作为用户的输入,逐位数字。每个数字都由用户作为字符输入。正“超长”整数的结尾由 $ 符号的输入和存储来表示。
这里你可以假设正超长整数占用的最大位数是25位。
编写一个能够对这些正超长整数执行以下操作的 C 程序。
- 添加两个正超长整数
- 从另一个正超长整数中减去一个正超长整数
- 两个正超长整数相乘
- 将一个正超长整数除以另一个正超长整数
- 提供一个正超长整数除以另一个正超长整数的余数
- 求两个正超长整数的最大值
我已经完成了编写用于执行两个正超长整数的加法、减法和最大值的函数。我无法执行乘法和除法来分别获得商和余数。
【问题讨论】:
-
这里有问题吗?
-
它看起来很像家庭作业,到目前为止没有任何努力,仍然没有问题。
-
'我无法执行乘法和除法来分别得到商和余数。'你在学校没学过长乘法和长除法吗?
-
@Patashu 是的。我已经为 8051 微控制器的此类问题编写了代码。我不擅长用 C 语言。
-
@Maverick 你会如何在 8051 中写出来?你会如何用 psueodocode/pseudo-C 写出来?