输入一个三位数,输出它的全排列,
不用函数
#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] << " ";
}
}
}
}
}
请问到底需要什么语言,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;
}