TCL笔试题 将A,B,B,C,D,E,第三个字符不可以是E的所有组合输出;

思路:利用排列思想,进行递归;
#include "iostream" using namespace std; char b[10]; void pick_one(char a[],int num[],int n){ if(n==6){ b[n]=''; cout<<b<<endl; return; } for(int i=0;i<5;i++){ if(n==2&&a[i]=='E')continue; else{ if(num[i]!=0){ b[n]=a[i]; num[i]--; pick_one(a,num,n+1); num[i]++; } } } } void main(){ char a[]={'A','B','C','D','E'}; int num[]={1,2,1,1,1}; pick_one(a,num,0); }
原文地址:https://www.cnblogs.com/593213556wuyubao/p/4010904.html