#include <stdio.h> int a[1000]; int end; // 保存输入要取的n值 // 从m个数中,取出n个数的组合 void Combination(int m, int n) { int i, j; for (i = m; i >= n; i--) { a[n] = i;// 最后一个位置的元素可以取m,m-1,m-2.....n if (n > 1) { Combination(i - 1, n - 1);// 从剩余的i-1个元素中取出n-1 } else { for (j = 1; j <= end; j++) { printf("%d", a[j]); } printf("\n"); } } } int main() { int m, n; int i; scanf("%d%d", &m, &n); end = n; Combination(m, n);// 从m个数中取出n个数的所有组合 return 0; }