Re: ffd

看板b96902HW作者 (尋...)時間10年前 (2013/07/30 11:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
不知道你後面的順序是怎樣 這順序還真奇怪 不過還是照你的要求寫看看XD #include<stdio.h> int len; void permutation(int orlayer,int layer, int *que) { int i; if(layer==len){ for(i=0;i<len;i++){ printf("%c",que[i]); } printf("\n"); } else{ for(i='A';i<'A'+len;i++){ if(!(layer==orlayer && i==que[orlayer-1])){ que[layer]=i; permutation(orlayer,layer+1,que); } } } } int main() { char in; int i,j,k; int que[26]; scanf("%c",&in); len=in-'A'+1; for(i=len;i>0;i--){ for(j='A';j<=in;j++){ for(k=0;k<i;k++) que[k]=j; permutation(i,i,que); } } } ※ 引述《eden0315 (貢丸^^~)》之銘言: : 請問一個程式問題: : 我輸入C 會跑出AAA BBB CCC AAB AAC BBA BBC CCA CCB : 我改了很久都改不出來這樣的排列組合 : #include<stdio.h> : #include<stdlib.h>//AAA BBB CCC AAB AAC BBA BBC CCA CCB .... : int main(){ : char i,j,k; : char op; : char a,b,c,d; : printf("請輸入一個英文字母:"); : scanf("%c",&op); : for(i='A';i<=op;i++) : { : for(j='A';j<=op;j++) : printf("%c",i); : printf(" "); : } : for(a='A';a<=op;a++) : { : for(b=op;b>'A';b--)//印次數 : { : for(c=op;c>='A';c--)//印出幾個字 : if(c>'A') : printf("%c",a); : if(c='A'){ : for(d='A';d<=op;d++) : if(d!=a) : printf("%c",d); : } : printf(" "); : } : } : system("pause"); : return 0; : }請問一下該怎麼改 這是我寫到一半的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.138.206.100
文章代碼(AID): #1HzouUYb (b96902HW)
討論串 (同標題文章)
本文引述了以下文章的的內容:
1
1
11年前, 04/12
完整討論串 (本文為第 3 之 3 篇):
1
1
11年前, 04/12
1
2
文章代碼(AID): #1HzouUYb (b96902HW)