输出一个三位数的全排列

输入一个三位数,输出它的全排列,
不用函数

#include
using namespace std;
int main()
{
int a[3];
cout << "请输入一个三位数:" << endl;
for (int m = 0; m < 3; m++)
{
cin >> a[m];
}
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
for (int k = 0; k < 3; k++)
{
if (i != j && i != k && j != k)
{
cout << a[i] << a[j] << a[k] << " ";
}
}
}
}
}

img

请问到底需要什么语言,C++还是Python?请告诉我后我给你写实现


#include <iostream>
using namespace std;
int main() {
    int a[4];
    for (int i = 1; i <= 3; ++i) cin >> a[i];
    // 根据需要进行排序操作:sort(a + 1, a + 3 + 1)
    for (int i = 1; i <= 3; ++i) {
        for (int j = 1; j <= 3; ++j) {
            for (int k = 1; k <= 3; ++k) {
                if (i != j && i != k && j != k) {
                    cout << a[i] << a[j] << a[k] << endl;
                }
            }
        }
    }
}

如果就是一个严格的三位数,就输入进来之后对 10 取余数拿到各个数位

供参考:

#include <stdio.h>
int main()
{
    int n, a, b, c = 0, d[3] = { 0 };
    scanf("%d", &n);
    while (n) {
        d[c++] = n % 10;
        n /= 10;
    }
    n = c;
    for (a = 0; a < n; a++)
        for (b = 0; b < n; b++)
            for (c = 0; c < n; c++)
                if (a != b && a != c && b != c)
                    printf("%d%d%d\n", d[a], d[b], d[c]);
    return 0;
}


#include<iostream>
#include<algorithm>
using namespace std;
int main() {
    string a;
    cin>>a;
    do{
        cout<<a<<endl;
    }while(next_permutation(a.begin(),a.end()));
    return 0;
}