Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 输出多个组合_C++ - Fatal编程技术网

C++ 输出多个组合

C++ 输出多个组合,c++,C++,我试图以一定的顺序输出所有这些变量abc acb bac bca cab cba,但它只输出xyz xzy yxz yzx zxy zyx,而不是$%%$$$%$$$$%%$$$$%\$$$$$$$$$和123 132 213 231 312 321。我如何使它在测试这些值时输出xyz xzy yxz yzx zy zyx和$$%$$$$$%$$%$$$%\\$$$$$$$$\/code>和123 132 213 231 312 321 按如下所示的顺序输出字符变量a、b和c的所有组合。如果a=

我试图以一定的顺序输出所有这些变量abc acb bac bca cab cba,但它只输出
xyz xzy yxz yzx zxy zyx
,而不是
$%%$$$%$$$$%%$$$$%\$$$$$$$$$
123 132 213 231 312 321
。我如何使它在测试这些值时输出
xyz xzy yxz yzx zy zyx
$$%$$$$$%$$%$$$%\\$$$$$$$$\/code>和
123 132 213 231 312 321

按如下所示的顺序输出字符变量a、b和c的所有组合。如果
a='x',b='y',c='z'
,则输出为:
xyz-xzy-yyz-zyz-zyx

您的代码将在三个不同的程序中进行测试,其中a、b、c分别分配了“x”、“y”、“z”,然后分配了“#”、“美元”、“百分比”,然后分配了“1”、“2”、“3”

#include <iostream>
using namespace std;

int main() {
   char a;
   char b;
   char c;

   cin >> a;
   cin >> b;
   cin >> c;

   a = 'x'; 
   b = 'y'; 
   c = 'z';

   cout << a << b << c << " ";
   cout << a << c << b << " ";
   cout << b << a << c << " ";
   cout << b << c << a << " ";
   cout << c << a << b << " ";
   cout << c << b << a << "";

   cout << endl;

   return 0;
}
#包括
使用名称空间std;
int main(){
字符a;
字符b;
字符c;
cin>>a;
cin>>b;
cin>>c;
a='x';
b='y';
c='z';

我们这里有两个问题

  • 你不明白这个问题
  • 您还不了解编程语言
  • 让我们从这个问题开始

    • 老师想让你明白什么是排列
    • 您应该开始考虑循环(如果它不仅是xyz,而且是所有26个字符呢?)
    • 您的程序将使用不同的输入进行测试。无需为a、b或c分配某些内容
    程序将被调用,然后某人(某人是计算机)输入测试数据

    因此,如果要删除这些行:

        a = 'x'; '#'; '1';
        b = 'y'; '$'; '2';
        c = 'z'; '%'; '3';
    
    那么您已经有了一个有效的解决方案

    这些行无论如何都是错误的。或者您希望语句
    '2';
    应该做什么

    因此,你需要读更多的教科书

    我现在可以解释一下
    std::array
    std::vector
    std::next\u permutation
    ,但无论如何你都不会理解它


    因此,请继续学习。

    阅读此处的输入后:

    cin >> a;
    cin >> b;
    cin >> c;
    
    您可以在此处立即用常量覆盖它:

       a = 'x'; 
       b = 'y'; 
       c = 'z';
    
    这会使您的程序忽略输入。
    删除这些行,程序将正确处理用户的输入


    您(在评论中)似乎认为这些赋值是“初始化”,但事实并非如此,因为它们是在第一次使用这些变量来存储输入之后进行的。

    好吧,我认为,您不需要在输入之后为变量赋值。请注意,您所讨论的行不在问题中(不再)。对。已编辑。但问题仍将关闭…如果您确信某个问题将关闭或应该关闭,则不要回答,而是标记/关闭投票。(无可否认,我撤回关闭投票有点晚,谢谢您提醒我。)