求一个字符串的所有子字符串(C语言)
程序员文章站
2022-05-29 12:17:57
...
【问题描述】
从控制台读入一个字符串(长度不超过10),向控制台输出其所有子字符串(包括原字符串本身)。
【输入形式】
从控制台输入一个字符串,字符串中不含空格。
【输出形式】
向控制台输出所有子字符串,每行输出一个,先输出长度短的子字符串,长度相同时以在原字符串中出现的先后顺序输出。
【样例输入】
abcd
【样例输出】
a
b
c
d
ab
bc
cd
abc
bcd
abcd
【样例说明】
输入的字符串为abcd,长度为4。先输出长度为1的子串,并以出现的先后顺序输出,即:a、b、c、d。同样再输出长度为2、3、4的子串。
#include<stdio.h>
int main()
{
char ch, str[10];
int i=0,count=0;
while((ch=getchar())!='\n'){
str[i]=ch ;
i++ ;
count++;
}
str[i]='\0';
i=0;
while(i<count){
for(int j=0;j<=count-i-1;j++){
for(int k=j;k<=j+i;k++){
putchar(str[k]) ;
}
printf("\n");
}
i++;
}
return 0 ;
}