#include <stdlib.h>
#include <string.h>
char *sub(char *s,int st,int len)
{char *s1
int i
s1=(char*)malloc(len)
for(i=0i<leni++)s1[i]=s[st+i-1]
s1[i]='\0'
return s1
}
int main()
{int n,i,j
char s[200]
scanf("%d%*c",&n)
while(n--)
{printf("input a string:")
gets(s)
printf("i=")
scanf("%d",&i)
printf("j=")
scanf("%d%*c",&j)
if(i+j>strlen(s))printf("Error\n")
else printf("%s\n",sub(s,i,j))
}
return 0
}
void print_all_sub(char *s){
int i,j,k
for(i = 0 s[i] i ++)
{
for(k = 1 s[i+k] k ++)
{
//以下代码,输出从s[i]开始,长度为k的子串。
for(j = 0 j<=k j ++)
{
putchar(s[j+i])
}
putchar('\n')
}
}
}
2、定义3字符串变量,保存用来判断的同构字符串和用来判断包含多少同构字符串的字符串,以及字符串的子串。
3、定义两个整型变量,保存同构字符串中所有字母的数量。
4、重置数组n的值,初值为0。
5、判断字符串的子串,是否为同构子串。
6、如果子串是同构子串,则统计值自加1。
7、运行程序,输入两个字符串后,电脑就会统计出所有同构子串的数量。