如何用C语言编写一个不使用括号的四则运算器程序?

2026-04-19 03:310阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1608个文字,预计阅读时间需要7分钟。

如何用C语言编写一个不使用括号的四则运算器程序?

原文示例:本文字例为大家分享了C++实现无括号的四则运算器的整体代码,供大家参考。具体内容如下:

完成度更高的带括号版本可以参考C++实现四则运算器(带括号)+ 对无括号的计算器,实现起来如下:

cpp// 带括号的四则运算器实现int calculate(const std::string& expression) { // 实现代码...}

本文实例为大家分享了C++实现无括号的四则运算器的具体代码,供大家参考,具体内容如下

完成度更高的带括号版本可以看C++实现四则运算器(带括号)
对于无括号的计算器,实现起来比较容易,下面让我们一步步实现。

举例

首先明确需要实现怎样的程序,对于无括号的计算器,大概做成这样就可以了:

52+34*3-4/2=

分析

对于例子中的表达式,由于乘除运算的优先级高于加减运算,我们不能直接从左到右进行。但四则运算的规则是从左到右,先乘除后加减,对于优先级相同的运算符还是可以从左到右运算的。

​ 因此我们可以每读到一个运算符时,检查前一个运算符的优先级,如果前一个运算符的优先级与当前运算符相等或更高,那么我们便可以完成前一个运算符的计算;反之,则不进行运算。这样一来就需要将之前的运算符以及运算符左右的数保存起来,由于我们每次都是取前一个运算符,符合后进先出的条件,故可以选择栈来存储数据和符号。最好将数据和符号分开存储,这里为了简便(整数栈即可存储数字也可存储字符),只实现整数的四则运算,若需要浮点数的运算,稍加修改即可。

阅读全文

本文共计1608个文字,预计阅读时间需要7分钟。

如何用C语言编写一个不使用括号的四则运算器程序?

原文示例:本文字例为大家分享了C++实现无括号的四则运算器的整体代码,供大家参考。具体内容如下:

完成度更高的带括号版本可以参考C++实现四则运算器(带括号)+ 对无括号的计算器,实现起来如下:

cpp// 带括号的四则运算器实现int calculate(const std::string& expression) { // 实现代码...}

本文实例为大家分享了C++实现无括号的四则运算器的具体代码,供大家参考,具体内容如下

完成度更高的带括号版本可以看C++实现四则运算器(带括号)
对于无括号的计算器,实现起来比较容易,下面让我们一步步实现。

举例

首先明确需要实现怎样的程序,对于无括号的计算器,大概做成这样就可以了:

52+34*3-4/2=

分析

对于例子中的表达式,由于乘除运算的优先级高于加减运算,我们不能直接从左到右进行。但四则运算的规则是从左到右,先乘除后加减,对于优先级相同的运算符还是可以从左到右运算的。

​ 因此我们可以每读到一个运算符时,检查前一个运算符的优先级,如果前一个运算符的优先级与当前运算符相等或更高,那么我们便可以完成前一个运算符的计算;反之,则不进行运算。这样一来就需要将之前的运算符以及运算符左右的数保存起来,由于我们每次都是取前一个运算符,符合后进先出的条件,故可以选择栈来存储数据和符号。最好将数据和符号分开存储,这里为了简便(整数栈即可存储数字也可存储字符),只实现整数的四则运算,若需要浮点数的运算,稍加修改即可。

阅读全文