用二进制的特性来算的:#include #include int main(){ char str[100]; scanf("%s", str); for (int i = 1; i < 1 << strlen(str); ++i) { for (int j = 0; j <= strlen(str) - 1; ++j) { if (1 << j & i) putchar(str[j]); } puts(""); } return 0;}