简单计算器 考虑括号优先级 c语言
上课时我们老师布置的作业,不知道大家是不是也做过。第一次写考虑括号的计算器,把自己原本的代码优化了一下,拿出来与大家分享。
要求:
简单计算器,可以考虑优先级以及括号,括号可以嵌套,输出规格化。
思路:
将输入储存进一个字符串内,从左到右以此计算,分单元计算。比如,5*3+4/2*3+1+6*3中,5*3, 4/2*3,1,6*3分别为一个单元,遇到括号则将括号中的算是取出来,单独运算。最后得到的数通过加减结合在一起,即最终结果。
先获取第一个单独的数字,从字符串最左端向右,遇到加减号就停下来,加上计算出的数字,遇到除号或乘号就用手里的数做乘除计算,遇到括号就使用以上思路代码的递归计算成单独的数字。
代码:
#include
#include
#include
int kuowei(char *c); /*计算左括号到对应右括号的位数*/
double yunsuan(const char* cc,int l); /*运算函数*/
int main(){
版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/26567.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 0 条评论