#include <stdio.h> #include <string.h> #include <assert.h> #define MAX 26 int main(void) { char digits[MAX]; int n =5; int iCnt; memset(digits,0,sizeof(digits)); scanf("%d ",&n); assert(n <= MAX); printf("n = %d/n",n); printf("{}/n"); while (1) { for (iCnt = 0; iCnt < n; ++iCnt) { if (digits[iCnt] == 0) break; } if (iCnt == n) break; memset(digits,0,iCnt); digits[iCnt] = 1; printf("{"); for (iCnt = 0; iCnt < n;++iCnt) { if (digits[iCnt] == 1) printf("%c ",'A'+iCnt); } printf("}/n"); } return 0; }