输入一个不定长短的字符串,输出各种可能的组合。 如input:ABCD Output:A B C D AB AC AD BC BD ABC ABD B

2025-06-22 20:57:46
推荐回答(1个)
回答1:

用二进制的特性来算的:
#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;
}