C语言字符串子字符串生成程序 - 代码示例
以下是一个使用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,可能会导致程序出现问题。
原文地址: https://www.cveoy.top/t/topic/pATB 著作权归作者所有。请勿转载和采集!