第1个回答 2008-07-13
void nn(char c,char cc[])
{//对于有重复的数据这就不行了
//虽然可以都列出来,中间有重复的可能
char tmp,*qc;
if(c=='#')printf("%s",cc);
else {
for(qc=c;qc!='#';qc++){
tmp=*c;
*c=*qc;
*qc=tmp;
cc++;
nn(qc,cc);
cc--;
tmp=*c;
*c=*qc;
*qc=tmp;
}
}
}
main()
{
char cc[100];//请以#结束
scanf("%s",&cc);
nn(cc,cc);
}