编程求给定的4个数字的全排列。

例如,若给定的4个数字为5、6、7、8,则这4个数字的全排列为:
5687 5786 5768 5867 5876 5678
6587 6785 6758 6857 6875 6578
7586 7685 7658 7856 7865 7568
8576 8675 8657 8756 8765 8567
C语言编程!!!

int count = 0;

void permutation(char per[], int m, int len)
{
int i;
char tmp;

if (m < len - 1){
permutation(per, m + 1, len);
for (i = m + 1; i < len; i++){
/* 选当次的排列“头” */
tmp = per[m];
per[m] = per[i];
per[i] = tmp;
permutation(per, m + 1, len);
/* 恢复上一次的排列 */
tmp = per[m];
per[m] = per[i];
per[i] = tmp;
}
}else{
++count; /* 对排列进行计数 */
/* 调整一下格式^^ */
printf("%s\n", per);
}
return;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言编程: 输出1,2,3,4这4个数字的所有可能的排列
char s[4]={'1', '2', '3', '4'};\/\/char *s="1234 ";perm(s, 0, 3);return 0;}

求四位数字全排列
有点不解了,如果不允许数字重复,那就是A(1,9)*A(3,9)=9*9*8*7=4536个数啊 如果允许重复那也不对啊,1000--9999那也才9000个啊

用C语言编程求1、2、3到n的全排列
{ int n, nn;printf("input a number: ");scanf("%d", &n);for (int i = 1; i <= n; ++i){ nn = 1;for (int j = 1; j <= i; ++j){ nn = nn * j;} printf("%d! = %d\\n", --j, nn);} return 0;} ...

四位数字组合有多少个
5243、5324、5342、5432、54232534、2543、2354、2345、2453、24353524、3542、3245、3254、3425、34524325、4352、4235、4253、4523、4532分两大类:1、4个不同数字中不包含0,那么就全排列,共有24种2、4个不同数字种包括0,

在matlab中、如何进行全排列
A=perms([1 2 3 4 5 0 0]);a1=find(A(:,1)==0);a2=find(A(:,7)==0);aa=union(a1,a2);A(aa,:)=[];dA=diff(A,1,2);[I,J]=find(dA==0);A(I,:)=[];

编写一个程序,打印出1 2 3 40四个数字的全排列
自己编程,估计要费点工夫,可以直接用木头超级字典生成器(MutouDic)里边的排列字典工具

输入整数N( 1 <= N <= 10 ),生成从1~N所有整数的全排列。
const int maxn =30;int n, r, ans[maxn];bool a[maxn];void print(){ for(int i = 1; i <= r; i ++)printf("%3d",ans[i]);printf("\\n");return ;} void Search(int t){ if( t > r){ print();return ;}else for(int i = ans[t-1]; i <= n; i ++)if(!

求26个英文字母中任意四个字母组合的全部排列
四个字母的排列:26*25*24*23 = 74880组合:(26*25*24*23)\/(4*3*2*1)= 2990 给你个不需要任何编程软件的代码,直接打开就可以运算的,脚本如下:.结果如下

c++编程 全排列
int b[10],n,m;bool set[10];void print(){ for(int i=0;i<n-1;i++)cout<<a[b[i]];cout<<a[b[n-1]]<<endl;} void trydate(int i,int k){ for(int j=k;j<m;j++){ if(set[j]==false){ set[j]=true;b[i-1]=j;if(i<=n-1)trydate(i+1,j+1);else pri...

c++编程.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数...
4个数中取3个数,做全排列,所以3!*4 = 24个:4 2 3 4 3 2 2 4 3 2 3 4 3 2 4 3 4 2 1 4 3 1 3 4 4 1 3 4 3 1 3 4 1 3 1 4 1 2 4 1 4 2 2 1 4 2 4 1 4 2 1 4 1 2 1 2 3 1 3 2 2 1 3 2 3 1 3 2 1 3 1 2 代码:include <stdio...

相似回答