⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 repetitive.txt

📁 有重复元素的全排列输出There s the output repetitive elements
💻 TXT
字号:
#include <stdio.h>
int main()
{
    long nt,n1,n2,nLen;
    char cIn[100],ct;
    long nNum[100]={0};
    scanf("%s",cIn); //输入字符串
    {
        char *pc=cIn,*pc2;
        for(;*pc;pc++)for(pc2=pc+1;*pc2;pc2++)//排序,按ASCII
            if(*pc>*pc2)ct=*pc,*pc=*pc2,*pc2=ct;
        nLen=pc-cIn;
        while(nNum[nLen]==0)
        {
            char cT[100],cOut[100]={0},*pcOut=cOut;
            for(n1=0;n1<=nLen;n1++)cT[n1]=cIn[n1]; //取数初始化
            for(n1=0;n1<nLen;n1++)
            {
                n2=nNum[nLen-n1-1]; //按排列数取数
                if(n2>0 && cT[n2]==cT[n2-1])break; //防重复
                *pcOut++=cT[n2];
                for(nt=n2;nt<nLen;nt++)cT[nt]=cT[nt+1]; //删除已取元素
            }
            if(n1==nLen)printf("%s\n",cOut); //输出
            long *pn=nNum+1; 
            for((*pn)++,n1=1;n1<nLen;n1++) //不等进制数加一并处理进位
                if(*pn>n1)*pn++=0,(*pn)++;else break;
        }
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -