Re: ffd
不知道你後面的順序是怎樣 這順序還真奇怪
不過還是照你的要求寫看看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
討論串 (同標題文章)