关注
C语言版本 试了一下 有一个问题 负数不加括号的话 不能正常运算 例如:6+2*-2 输出结果不是2 尝试着改进了一下,代码如下 #include <stdio.h> #include <string.h> #include <ctype.h> int pos; int compute(char* data) { int len = strlen(data); int stack[1000]; int top = -1; int num = 0,flg = 1; char flag = '+'; while (pos < len) { if (data[pos] == '{' || data[pos] == '[' || data[pos] == '(') { pos++; num=compute(data); } while (pos < len && isdigit(data[pos])) { num = num*10 + data[pos] -'0'; pos++; } num *= flg; flg = 1; if(data[pos] == '-' && (flag == '*' || flag == '/') ) { flg = -1; } else { switch (flag) { case '+': stack[++top] = num; break; case '-': stack[++top] = -num; break; case '*': stack[top] *= num; break; case '/': stack[top] /= num; break; } num = 0; flag = data[pos]; } if (data[pos] == '}' || data[pos] == ']'|| data[pos] == ')') { pos++; break; } pos++; } int res = 0; for (int i = 0; i <= top; i++) { res += stack[i]; } return res; } int main() { char data[1000]; while (scanf("%s", data) != EOF) { pos = 0; int res = compute(data); printf("%d\n", res); } return 0; }</ctype.h></string.h></stdio.h>
3
相关推荐
点赞 评论 收藏
分享
10-29 08:45
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 工作半年后更确定:我们依然不欠优绩主义什么6104
- 2... 我建了一个分享实习业务的仓库,欢迎大家贡献哦3792
- 3... 岁末论道:谁才是牛客 2025 最强修仙者?3160
- 4... #牛客2025仙途报告#居然是五颗星2528
- 5... 腾讯 微信支付一面面经2517
- 6... 【2025-年终总结】25届毕业生果果牛这一年~2184
- 7... 仙途报告1964
- 8... 一个程序员的自救书|从酒吧陪玩DM到上岸大厂1918
- 9... 在当下这个社会,在人生这个无常的时代,我真心希望你和各位牛友开心1418
- 10... 壕壕壕,京东发7个月年终,此生要做东孝子1316
正在热议
更多
# 牛客2025仙途报告 #
13181次浏览 245人参与
# 实习要如何选择和准备? #
129930次浏览 1501人参与
# 2025年终总结 #
195650次浏览 3278人参与
# 你有哪些缓解焦虑的方法? #
44519次浏览 868人参与
# 元旦假期你打算怎么过 #
808次浏览 21人参与
# 上班后和你想的一样吗? #
95129次浏览 701人参与
# 双非本科的出路是什么? #
189233次浏览 1500人参与
# 找工作,行业重要还是岗位重要? #
87466次浏览 1745人参与
# 今年你最想重开的一场面试是? #
12438次浏览 132人参与
# 我们是不是被“优绩主义”绑架了? #
1707次浏览 64人参与
# 一人说一个提前实习的好处 #
23002次浏览 311人参与
# 机械人晒出你的简历 #
148405次浏览 885人参与
# 你面试体验感最差/最好的公司 #
28862次浏览 475人参与
# 牛友们的论文几号送审 #
63103次浏览 833人参与
# 礼物开箱Plog #
3197次浏览 102人参与
# 秋招落幕,你是He or Be #
22477次浏览 379人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
149263次浏览 1241人参与
# 牛油的搬砖plog #
163660次浏览 1152人参与
# 工作中听到最受打击的一句话 #
12638次浏览 177人参与
# 重来一次,你会对开始求职的自己说 #
10166次浏览 243人参与
