C++程序检查玩笑编程代码是否生成输出


假设我们有一个包含n个字符的字符串S。在一个玩笑编程语言中,只有4条指令。

  • "H" 用于打印 "Hello World"
  • "Q" 用于打印其源代码
  • "9" 用于打印 "99 bottles of juice"
  • "+" 用于增加累加器中存储的值

指令 "H" 和 "Q" 区分大小写,并且必须是大写字母。除了这四个字符之外,其他字符都被忽略。我们有一个用这种语言编写的程序。您必须检查执行此程序是否会产生任何输出。

问题类别

编程中的各种问题可以通过不同的技术来解决。要解决一个问题,我们首先必须设计一个算法,为此,我们必须详细研究特定问题。如果同一个问题反复出现,则可以使用递归方法;或者,我们也可以使用迭代结构。可以使用if-else和switch case等控制语句来控制程序中逻辑的流程。有效地使用变量和数据结构可以提供更简单的解决方案以及轻量级、低内存需求的程序。我们必须查看现有的编程技术,例如分治法、贪心算法、动态规划,并找出是否可以使用它们。这个问题可以通过一些基本的逻辑或暴力方法来解决。请参阅以下内容以更好地理解该方法。

因此,如果我们问题的输入类似于 S = "H+995jkl",则输出将为 True,因为 H、+ 和 9 是有效的指令。

步骤

要解决此问题,我们将遵循以下步骤:

for initialize i := 0, when i < size of S, update (increase i by 1), do:
   c := S[i]
   if c is same as 'H' or c is same as 'Q' or c is same as '9', then:
      return true
return false

示例

让我们看看以下实现以更好地理解:

#include <bits/stdc++.h>
using namespace std;
bool solve(string S){
   for (int i = 0; i < S.size(); i++){
      char c = S[i];
      if (c == 'H' || c == 'Q' || c == '9'){
         return true;
      }
   }
   return false;
}
int main(){
   string S = "H+995jkl";
   cout << solve(S) << endl;
}

输入

"H+995jkl"

输出

1

更新于: 2022年4月8日

162 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告