
以下是我写的代码
#include <iostream> #include <algorithm> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ void print_set(int n,int *a,int *p,int cur){ for(int i=0;i<cur;i++) cout<<a[i]; cout<<endl; int s=cur? a[cur-1]+1:1; for(int i=0;i<n;i++){ if(p[i]<s) continue; a[cur]=p[i]; print_set(n,a,p,cur+1); } } int main(int argc, char** argv) { int n,a[10],p[10]; cin>>n; for(int i=0;i<n;i++){ cin>>p[i]; } sort(p,p+n); print_set(n,a,p,0); return 0; }
函数里面通过变量S来控制循环,真的是多看别人的优秀代码才能成长
浙公网安备 33010602011771号