使用C语言我必须编写一个程序来计算给定字符串的所有可能组合。
示例输入:
ABC
示例输出:
A,B,C,AB,AC,BC,ABC
我编写了这段代码,它适用于我的示例输入,但目前它仅适用于长度恰好为3个字符的字符串。我想修改我的程序,以便它可以接受一个长度为N个字符的字符串并仍然给出正确的输出。
到目前为止,这是我的代码:
int position1 = 0;
int position2 = 0;
char conjuntoQ[100]="\0";
size_t len;
while (m1.q[position1] != NULL) {
position2 = position1;
position2++;
while (m1.q[position2] != NULL) {
len = strlen(conjuntoQ);
conjuntoQ[len] = m1.q[position];
len = strlen(conjuntoQ);
conjuntoQ[len] = m1.q[position2];
len = strlen(conjuntoQ);
conjuntoQ[len] = ',';
position2++;
}
position++;
}