这是我大学去年第一次“编程入门”考试中的一个问题:
使用该
getchar()函数读取由数字、+ 和 - 符号组成的输入序列。输出应该是那些算术运算的结果。
例如,如果输入是10+13-12+25-5+100,则输出应该是131。
现在,鉴于我在参加大学之前有一点 C 经验,使用指针、数组等似乎很容易解决这个问题。
但这里有一个问题:在考试中,你只能使用学生目前学到的东西。鉴于此考试仅在学年开始后一个月,您的选择相当有限。
您只能使用变量、基本输入/输出内容、运算符(逻辑和按位)、条件语句和循环、函数。
这意味着不:数组、字符串、指针、递归、结构或任何其他使这变得容易的东西。
我他妈的怎么做?今天是我第二次花了 3 个小时试图解决这个问题。我已经成功解决了它,但只有在“作弊”并使用数组、字符串函数 ( strtol) 和指针之后。知道如何通过规则解决它对我来说很重要,因为我将在即将到来的考试中遇到类似的问题。
编辑:到目前为止,我的尝试都是将 while 循环与getchar()for 输入结合使用,之后我就卡住了。如果不使用更多“工具”,我对我应该做什么没有丝毫的想法。