在 C++ 中生成三个字母[关闭]

Posted

技术标签:

【中文标题】在 C++ 中生成三个字母[关闭]【英文标题】:Generating triplets of letters in C++ [closed] 【发布时间】:2019-11-22 21:05:09 【问题描述】:

我正在努力完成以下任务:

让我们看一下三个小写字母的集合(例如 aaa、aab 等)。输入一个自然数 N,打印出前 N 个集合,每个集合中都有唯一的字母。

例子:

输入:5 输出:abc abd abe abf abg

如何编写算法?

【问题讨论】:

这听起来像是一个家庭作业问题...该网站的规则是您应该问一个特定的技术问题,您尝试了什么不起作用,或者您不了解什么概念? 嗨米拉,欢迎来到 ***。这不是编码服务,请看tour。请展示您尝试过的内容并提出具体的技术问题(如果有的话)。 大家好,我尝试了一些我想到的概念,但我不太清楚如何生成 3 个不同的字母,尤其是如果输入的数字大于 24。我是否必须使用字符串还是有其他选择? 也许你可以add what you've tried to your question?那么也许我们可以帮助您找出问题所在。 我还要补充一点,这个问题有一些负面反馈,无论是在 cmets 还是 downvotes 中。不要个人认为!我们每天会看到数百个家庭作业问题,其中许多都没有之前的工作 - 因此,尽管您可能已经尝试过某些东西,但我们必须对其严格,以保留对其他程序员有用的清晰、集中的问题未来。祝你好运! 【参考方案1】:

由于这似乎是一个家庭作业问题,我将详细介绍一下下面的代码是如何工作的。

想象一下有一个类似的任务来写出a..z 中的字符,你会遍历所有这些字符并在达到你想要的数字时停下来。所以像这样的代码会为你做到这一点

for (char c='a'; c <= 'z'; c++)  /* ... */ 

这将产生abcd...z 的结果现在,为了得到你需要的,你需要把这个循环的输出想象成一列,所以要产生 您想要的输出需要执行以下操作:

aaa
bbb
ccc
...
...
...
zzz

因此,您需要按照以下思路进行思考:“对于每个角色,我需要获取每个角色,并且对于该角色的每个角色”

提示:这可以通过设置 3 个 for 循环来实现。

我强烈反对先选择加入该解决方案,但如果您仍然遇到困难,请随时使用它:

#include <iostream>

int main() 
  int n, totalIterations;
  std::cin >> n;

  totalIterations = 0;
  for (char i='a'; i <= 'z'; i++) 
    for (char j='a'; j <= 'z'; j++) 
      for (char z='a'; z <= 'z'; z++) 
        std::cout << i << j << z << " ";
        totalIterations++;

        if (totalIterations > n-1) 
          return 0;
        
       
    
  

  return 0;

【讨论】:

这无疑是有帮助的,但这个问题似乎缺乏个人努力和原创研究,如果 OP 使用它,他们可能会根据规则被认为是作弊他们的机构。在此基础上,最好等人们自己努力再提供帮助,这样他们才能真正学到一些东西。 同意,确实如此,尽管您不同意有时在编程中您只需要朝着正确的方向稍加推动,尤其是在您学习的时候。我敢肯定 OP 对她的问题没有任何伤害,可能会在截止日期前追究,只需要知道如何解决这个问题,她就可以继续前进。 我同意,但一个完整的解决方案可能不是“朝着正确的方向小小推动”,而这正是我试图梳理的问题。如果 OP 在不理解的情况下使用它,她可能不太可能经历理解它所需的学习阶段。当然,我们可以希望这里的每个人都愿意学习,即使他们有答案,但我阅读数百道作业题的经验是,有很多学生只是在寻找捷径。 谢谢,我改变了我的答案,希望在完成确切的解决方案之前能稍微鼓励一下 OP。 非常感谢您的意见。例如,我确实在寻找一些建议或建议,而不是问题的完整解决方案。现在,我希望我的问题被视为企图作弊。我对这种材料很陌生,因此有时我发现自己被困在可用和未分类的信息海洋中的一项任务。我很感谢作者回答我的问题。我会尽我所能去追根究底。

以上是关于在 C++ 中生成三个字母[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在C#中生成随机大写字母,同时检查每个都只生成一对

在 C++ 中生成随机双精度数

在 Python 中生成一个随机字母

如何在 C++ 中生成 UUID,而不使用 boost 库?

在php中生成连续数字[关闭]

在Java中生成字母数字随机字符串[重复]