#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int a[100];//a[0]舍弃不用,a[1]至a[m]存组合数
void zh(int n,int m,int num)
{
int i;
if(m==num-1)
{
for(i=1;i<=m;i++)
printf("%d ",a[i]);
printf("\n");
return;
}
for(i=a[num-1]+1;i<n+1;i++)//有顺序的排列即为组合
{
a[num]=i;
//printf("a[%d]=%d\n",num,a[num]);
zh(n,m,num+1);
}
};
int main(){
int n,m;
a[0]=0;
printf("please input n,m (n>m)\n");
scanf("%d %d",&n,&m);
zh(n,m,1);
getch();
system("pause");
return 0;
}