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

📄 dictionary.c

📁 这是一个用Turboc2.0写的程序
💻 C
字号:
/*字典序法生成全排列的下一个序列*/
main ()
{
   int i,j,k,t,n,p[100],select;
   select=1;     /*select用于控制是否循环执行程序*/
   while (select)
   {
       printf("please input an Integer n:");  /*n为数的个数*/
       scanf("%d",&n);
       printf("\n");
       printf("please input %d number arrange:\n",n);
       for (i=1;i<=n;i++)      /***********************/
       {                       /*输入一个排列*/
         scanf("%d",&p[i]);    /***********************/
       }
       clrscr();
       printf("The primary arrange is:\n");
       for (i=1;i<=n;i++)     /***************/
       {                      /*打印出当前序列*/
         printf("%d ",p[i]);  /****************/
       }
       j=2;
       i=j;
       for (;j<=n;j++)               /*求i=max{j|p[i-1]<p[j]}*/
       {
          if ((p[j-1]<p[j])&(j>i))
             i=j;
       }
       /*printf("i=%d",i); */
       k=1;
       j=1;
       for (;k<=n;k++)        /*求j=max{k|p[i-1]<p[k]}*/
       {
         if ((p[i-1]<p[k]))
            t=k;
         if (t>j)
            j=t;
       }
       /*printf("j=%d",j);*/
    
       t=p[i-1];
       p[i-1]=p[j];    /*p[i-1]与p[i]互换*/
       p[j]=t;
    
       for (j=i;j<=(i+n)/2;j++)
       {
           t= p[j];
           p[j]=p[n+i-j];   /*将p[i]p[i+1]…p[n]部分逆转*/
           p[n+i-j]=t;
    
       }
    
    
       printf("\nThe next arrange is:");
       for (i=1;i<=n;i++)
       {                       /*打印出下一个序列*/
          printf("%d ",p[i]);
       }
    
       printf("\n\t1==>continue\n");
       printf("\t0==>exit\n");      /*打印出菜单*/
       scanf("%d",&select);
       clrscr();
   }
  exit(0);
}

⌨️ 快捷键说明

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