#include <iostream>
using namespace std;
void combination ( int s,int j );
int r;
int num;
int a[100],b[100];
void main( )
{
cout<<"请输入集合元素的个数: ";
cin >>num;
cout<<endl;
int l;
cout<<"请输入各个元素: ";
for(l=1;l<=num;l++)
cin>>a[l];
cout<<endl;
cout<<"其所有子集为如下:"<<endl<<endl;
cout<<"Vacancy"<<endl<<endl;
for (int k=1;k<=num;k++)
{
r=k;
combination (1,r);
}
}
void combination ( int s,int j )
{
int i;
for (i=s;i<=num-j+1;i++)
{
b[r-j+1]=a[i];
if(j>1)
combination(i+1,j-1);
else
{
cout<<"{";
for (int k=1;k<=r;k++)
cout<<b[k]<<" ";
cout<<"}"<<endl;
cout<<endl;
}
}
}
转载于:https://my.oschina.net/yanjianhai/blog/88778