c - 查找并计算字符串的所有子序列

标签 c string subsequence

我正在尝试找到字符串的所有可能的子序列。例如“abc”在这个字符串中我们会找到总共8个字符串2^3=8组合。如 a、b、c、ab、ac、bc、abc '\0'。 但我的代码只打印字符串的所有字符。我怎样才能做到这一点?

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char string[1000];
    int count, i;
    gets(string);
    int len = strlen(string);
    for(i=0; i<len; i++) {
        printf("%c ", string[i]);
    }
    return 0;
}

最佳答案

据我了解,您需要一个完全不同的循环。您将循环遍历字符串中的所有位置i;每个位置的字符要么被打印,要么不被打印。这个问题可以通过递归来解决,这可能比迭代方法更容易。

关于c - 查找并计算字符串的所有子序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23855270/

相关文章:

R - 如何找到最长的重复序列及其频率

给定长度的公共(public)子序列

python - 有多少独特元素的子序列是可能的?

C 调试,#if DEBUG 与 if (DEBUG)

c - 使用未声明的标识符 'PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP'

c - 将自定义代码添加到 Automake 生成的 Makefile 中

c程序给出字母32767

c - c中printf中的意外换行符

javascript - 将大括号内的所有文本提取到字符串数组中

javascript - 将对象属性和值转换为字符串