* 输出一个字符串的所有子串(子串不包括空字符串和字符串本身),
* 例如:字符串“abc”的所有子串:“a”,“b”,“c”,“ab”,“bc”。
* 字符串“abcd”的所有子串:“a”,“b”,“c”,“d”,“ab”,“bc”,
最好用C#和C语言编写
求源代码
static void Main(string[] args) { string src = "abcdefg"; int len = 1; while (len < src.Length) { for (int i = 0; i + len <= src.Length; i++) { Console.Write(src.Substring(i, len) + " "); } Console.WriteLine(); len++; } Console.ReadLine(); }
有才,完美的解决了我的问题,谢谢你!
#include<stdio.h> #include<string.h> char s[100]; char s2[100]; int n; void print(int u,int cur) { for(int i=0;i<cur;i++)printf("%c ",s2[i]); printf("\n"); int v=cur?u+1:0; for(int i=v;i<n;i++) { s2[cur]=s[i]; print(i,cur+1); } } int main() { scanf("%s",s); n=strlen(s); print(0,0); return 0; }
嗯,大哥您回答的很好!
@爱编程1314: 瞬间就感觉老了TAT。。
@尽善尽美#: 我是对您的敬重呢,不要想多了
@爱编程1314: 好吧,我好感动,,不过我也是学生呢,多多交流~