#include <stdio.h>
int main()
{
int X[4] = {}, i, count = 0;
int n = 4;
for(X[4]=0;X[4]<2;X[4]++)
for(X[3]=0;X[3]<2;X[3]++)
for(X[2]=0;X[2]<2;X[2]++)
for(X[1]=0;X[1]<2;X[1]++)
{
printf("{");
for(i=1;i<=n;i++)
if(X[i])
{
printf("%d",i);
}
printf("}\n");//换行一次表示一个子集打印结束,n个元素表示子集有2^n个子集
++count;
}
printf("共%d个子集", count);
return 0;
}
========================================Talk is cheap, show me the code=======================================