以下是一个使用C语言编写的程序,可以从控制台读入一个字符串(长度不超过10),并向控制台输出其所有子字符串(包括原字符串本身)。

#include <stdio.h>
#include <string.h>

void printSubstrings(char* str) {
    int len = strlen(str);
    
    // 输出原字符串本身
    printf('%s\n', str);
    
    // 输出长度为1的子字符串
    for (int i = 0; i < len; i++) {
        printf('%c\n', str[i]);
    }
    
    // 输出长度大于1的子字符串
    for (int i = 2; i <= len; i++) {
        for (int j = 0; j <= len - i; j++) {
            for (int k = j; k < j + i; k++) {
                printf('%c', str[k]);
            }
            printf('\n');
        }
    }
}

int main() {
    char str[11];
    
    printf("请输入一个字符串(长度不超过10):");
    scanf("%s", str);
    
    printf("所有子字符串如下:\n");
    printSubstrings(str);
    
    return 0;
}

这个程序首先从控制台读入一个字符串,然后调用printSubstrings函数来输出所有子字符串。函数中,首先输出原字符串本身,然后依次输出长度为1的子字符串,再以长度递增的顺序输出长度大于1的子字符串。输出时,每个子字符串占一行。

注意,这个程序假设输入的字符串长度不会超过10个字符。如果输入的字符串长度超过10,可能会导致程序出现问题。

C语言字符串子字符串生成程序 - 代码示例

原文地址: https://www.cveoy.top/t/topic/pATB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录