//生成组合
#include<stdio.h>
#define N 6
#define r 3
void combine(int pos, int h);
char ch[] = {'A', 'B', 'C', 'D', 'E', 'F'};
int C[N];
int used[N + 1] = {0};
int main()
{
combine(0, 0);
getch();
}
void combine(int pos, int h)
{
int i;
if(pos == r){
for(i = 0; i < r; i++)
printf("%c", ch[C[i]]);
printf(" ");
}
else
for(i = h; i <= N - r + pos; i++) //不可省去'=' 否则会有组合接不上
if(!used[i]){
C[pos] = i;
used[i] = 1;
combine(pos + 1, i + 1);
used[i] = 0;
}
}
生成组合
最新推荐文章于 2024-10-24 08:00:00 发布