#include #include int main(int argc,char **argv) { char input[100]; unsigned int nr_subst, nr_elem; printf("Give your input:"); scanf("%s", input); nr_elem = strlen(input); printf("Input has %d `elements", nr_elem); /* 2^nr_elem-1 */ nr_subst = 2 << (nr_elem - 1); for(int i = 0; i < nr_subst; i++) { printf("Subset number %d :: ", i); for(int j = 0; j < nr_elem; j++) { /* is jth bit set in i */ if ( i & (1 << j) ) printf("%c", input[j]); } printf("\n"); } return 0; }