三种括号混着来
补全 ok,这次三种括号都要认:()、[]、{}。检查的是 {[()]}。 本节约定:ok 配得上返回 true,配不上返回 false,输出用 boolalpha 打成 true / false。 (本题用 g++ -std=c++17
说清楚错在哪一头
光返回 false 不够用。补全 why:右括号多出来 → 返回 多了右括号;左括号没关上 → 返回 少了右括号;配得上 → 返回 配平。这次检查的是 ())。 (本题用 g++ -std=c++17 -O0 编译。)
后缀表达式长什么样
第 1 步:算后缀表达式 8 3 - 第 2 步:数字:压栈 第 3 步:数字:压栈 第 4 步:先弹出 3:它在减号右边 第 5 步:再弹出 8:它在减号左边 第 6 步:8 减 3 得 5,压回栈里 8 3 - 8 top 3 5 后缀
扫到数字和符号各做什么
用栈算后缀表达式,规则是【0】。
弹出来的两个数谁在左边
遇到减号,连弹两个数,其中【0】。
三四加等于几
运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; int calc(const
顺序反了就错了
运行下面这段程序——注意减法两个数的先后: #include <iostream> #include <string> #include <vector> using namespace std; in
算一个只有加法的
补全 calc:按后缀规则算出结果。这次算的是 2 3 + 4 +。 (本题用 g++ -std=c++17 -O0 编译。)
加减混着顺序不能反
补全 calc,这次要认 + 和 -。算的是 5 1 2 + 4 - +。 (本题用 g++ -std=c++17 -O0 编译。)
再加上乘法
补全 calc,认 +、-、* 三种。算的是 2 3 4 * +。 (本题用 g++ -std=c++17 -O0 编译。)