比如说现有{1,2,3,4,5,6}{a,b,c,d,e,f}{~!@#$%}我需要列所有的可能性像1a~,1a!,1a@,1a#,1a$,1a%.1b~,1b!,1b@,1b#,1b$,1b%.1c~,1c!,1c@,1c#,1c$,1c%.像这样以此类推第一个是只能从123456中选一个,第二个是只能从abcdef中选一个,第三个~!@#¥%中选一个。
最好可能告诉我一下如果还有第四个集合第五个集合,列举的规则还是一样就是多了几个集合算法需要怎么改动
比如说现有{1,2,3,4,5,6}{a,b,c,d,e,f}{~!@#$%}我需要列所有的可能性像1a~,1a!,1a@,1a#,1a$,1a%.1b~,1b!,1b@,1b#,1b$,1b%.1c~,1c!,1c@,1c#,1c$,1c%.像这样以此类推第一个是只能从123456中选一个,第二个是只能从abcdef中选一个,第三个~!@#¥%中选一个。
最好可能告诉我一下如果还有第四个集合第五个集合,列举的规则还是一样就是多了几个集合算法需要怎么改动
这个设集合变量t[],t1[],t2[]即可,然后设三重循环逐个组合
#include <stdio.h>
#include "string.h"
int main() {
char a[]="123456";
char b[]="abcdef";
char c[]="~!@#$%";
for(int i=0;i<6;i++){
for(int j=0;j<6;j++){
for(int k=0;k<6;k++){
printf("%c%c%c ",a[i],b[j],c[k]);
}
printf("\n");
}
}
return 0;
}