试探算法(排列组合问题)~
代码先是参考网上的然后自己加以修改~
程序代码:#include<stdio.h>
#define M 5
void fun(int a[],int b[],int n,int m,int s);
void print(int k[]);
int main()
{
int a[]={1,2,3,4,5,6,7,8,9,0};
int b[M]={0};
fun(a,b,0,0,sizeof(a)/sizeof(*a));
return 0;
}
void fun(int a[],int b[],int n,int m,int s)
{
int i=0;
for (i=n;i!=s;++i)
{
b[m]=a[i];
if (m<M-1)
fun(a,b,i+1,m+1,s);
else
print(b);
}
}
void print(int k[])
{
int i=0;
for (;i!=M;++i)
printf("%3d",k[i]);
printf("\n");
}
[此贴子已经被作者于2017-3-1 23:27编辑过]




