第1个回答 推荐于2016-04-01
这个只支持数字,字母的不支持
#include<stdio.h>
#define MAXN 100
int a[MAXN] = {0};
int flag[MAXN] = {0};
void comb(int m,int s)
{
int i;
if (s>=m)
{
for (i=0;i<m;i++)
printf("%d",a[i]);
printf("\n");
}
else
{
for (i=1;i<=m;i++)
if (flag[i]==0)
{
flag[i]=1;
a[s]=i;
comb(m,s+1);
a[s]=0;
flag[i]=0;
}
}
}
void main()
{
int N;
printf("Input N:\n");
scanf("%d",&N);
comb(N,0);
}本回答被提问者采纳