0

(Linux 上的 C++,KitTy)

(家庭作业)

嗨,这里是网站的新手。我正在寻找(如标题所示)从字符数组中提取多位数和一位数整数。

示例输入如下所示:

1234+-5000 + 65 =

数据将存储在一个数组中......

[1][2][3][4][+][-][5][0][0][0][''][+][''][6][5]['' ][ \0 ]......[MAX_STR_LEN]

输出需要是 1234、-5000 和 5 的总和。要考虑的事项是:

  1. 我必须创建用于处理信息的任何辅助函数。
  2. 这将在稍后转换为 Motorola 68k ASM 语言(手动)。

有什么建议么?非常感谢!

更新:解决了!感谢大家!我听了医生的建议。

4

1 回答 1

1

我会做两个功能。

a) 一种将 char 数组分成几个 char[] 的方法,每个 char[] 只有一个数字。应该是直截了当的,只需遍历数组,当你找到一个数字开始复制时,当你找到一个分隔标记停止(即 + 或 - 或'')并跳到下一个。

b) 然后是第二个函数,它采用一个数字的 ascii 表示的 char 数组并将其转换为 int。容易吧?所以对于长度为 3 的 char[] 例如 char[2] + char[1] * 10 + char[2] * 100; (这里假设 ascii '1' 的 int 为 1,'2' = 2 - 如果不做一个查找表进行转换)

如果位置 0 有“-”字符,也有一个 if 语句使其为负数...

然后添加它们。完毕。

于 2012-11-22T05:55:44.463 回答