有一个集合由A-Z这26个字母组成,打印这个集合的所有子集,每个子集一行,写C代码实现,不能使用递归
void Show1()//
{
const char chars[] = "abcdefghijklmnopqrstuvwxyz";
for(int i=0;i<0x3ffffff;i++)
{
//0000 0000 0000 0000 1010 0000 11
for(int j=0;j<26;j++)//优化
{
if((i&(1<<j)) != 0)
{
printf("%c ",chars[j]);
}
}
printf("\n");
}
}
void Show(int n)//
{
const char chars[] = "abcdefghijklmnopqrstuvwxyz";
for(int i=0;i<(1<<n);i++)
{
//0000 0000 0000 0000 1010 0000 11
for(int j=0;j<n;j++)//优化
{
if((i&(1<<j)) != 0)
{
printf("%c ",chars[j]);
}
}
printf("\n");
}
}