本次测试写的三个。
一:
#include<iostream> using namespace std; int a[10],b[10],t; void asd(int x,int y,int z) { int i; if(x==0) { for(i=0;i<z;i++) cout<<b[i]<<" "; cout<<endl; } for(i=y;i<t;i++) { b[z]=a[i]; asd(x-1,i+1,z+1); } } int main() { int i; cin>>t; for(i=0;i<t;i++) cin>>a[i]; asd(3,0,0); return 0; }
二:
#include<iostream> using namespace std; int a[10],b[10],t; void asd(int x,int y) { int j; if(x==0) { for(int i=0;i<y;i++) cout<<b[i]<<" "; cout<<endl; } for(int i=0;i<t;i++) { for(j=0;j<y;j++) if(a[i]==b[j]) break; if(j==y) { b[y]=a[i]; asd(x-1,y+1); } } } int main() { cin>>t; for(int i=0;i<t;i++) cin>>a[i]; asd(3,0); return 0; }
三:
#include<iostream> using namespace std; int a[10],b[10],t; void asd(int x,int j) { if(x==0) { for(int i=0;i<j;i++) cout<<b[i]<<" "; cout<<endl; return ; } for(int i=0;i<t;i++) { b[j]=a[i]; asd(x-1,j+1); } } int main() { cin>>t; for(int i=0;i<t;i++) cin>>a[i]; asd(3,0); return 0; }