當前位置:成語大全網 - 新華字典 - 第9講 字典是怎麽排列的 學而思

第9講 字典是怎麽排列的 學而思

#includeintn,a[3];/*a[1],a[2],…,a[n]構成n個數的壹個排列*/longcount=0;/*變量count記錄不同排列的個數,這裏用於控制換行*/voidperm(intk)/*定義函數perm()*/{intj,p,t;if(______①k==n______)/*==是判斷符號=是賦值符號循環1*/{count++;for(p=1;p<=n;p++)printf("%1d",a[p]);/*"%1d"中是數字1,不是字母l輸出a[1],a[2],......a[n]*/printf("");if(______②count%5==0______)printf("\n");/*每輸出5個排列換壹次行*/return;}/*當k==n時,進入循環1*/for(j=k;j<=n;j++){t=a[k];a[k]=a[j];a[j]=t;/*交換a[k]和a[j]的位置*/______③perm(k+1)______;t=a[k];______④a[k]=a[j];a[j]=t______;/*交換a[k]和a[j]的位置*/}}main(){inti;chars;printf("Entryn:\n");scanf("%d",&n);/*輸入的數存貯到n上*/for(i=1;i<=n;i++){scanf("%c",s);a[i]=s;}perm(0);}