求任何集合的子集
#include"stdio.h"
void main()
{
int a[100],b[100]={0},i=0,n=0,sum=1,s=0,q,j;
do
{
scanf("%d",&a);
n++;
i++;
}while(a!=0);
n--;
for(i=1;i<=n;i++)
sum=sum*2;
for(i=0;i<sum;i++)
{ s=0;
printf("{");
j=i;
while(j!=0)
{
b[s++]=j%2;
j=j/2;
}
for(q=0;q<n;q++)
if(b[q])
{
printf("%d",a[q]);
if(q<s-1) printf(",");
}
printf("}\n");
}
getch();
}
void main()
{
int a[100],b[100]={0},i=0,n=0,sum=1,s=0,q,j;
do
{
scanf("%d",&a);
n++;
i++;
}while(a!=0);
n--;
for(i=1;i<=n;i++)
sum=sum*2;
for(i=0;i<sum;i++)
{ s=0;
printf("{");
j=i;
while(j!=0)
{
b[s++]=j%2;
j=j/2;
}
for(q=0;q<n;q++)
if(b[q])
{
printf("%d",a[q]);
if(q<s-1) printf(",");
}
printf("}\n");
}
getch();
}

浙公网安备 33010602011771号