正文
找子字符串函数c语言 查找子字符串的算法c语言
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
C语言之求字符串的子串
#include stdio.h
#include stdlib.h
#include string.h
char *sub(char *s,int st,int len)
{char *s1;
int i;
s1=(char*)malloc(len);
for(i=0;ilen;i++)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+jstrlen(s))printf("Error\n");
else printf("%s\n",sub(s,i,j));
}
return 0;
}
c语言编程【编写一个 C 函数,在一个字符串中找到可能的最长的子字符串,该字符串是由同一字符组成】
第一,判断是否相等用" =="
第二,数组最好规定长度,如果没有规定长度,最好用指针。而且要用动态分配内存。所以你的
void enter(char x[]) //输入函数
这个函数根本就不对,因为数组不能自己动态增长。
第三,你在程序中已经限定了数组的长度是100,那么最好就直接使用x[100]。字符串是以'\0'结尾的,所以,只要读到'\0'就认为字符串结束。所以不需要动态数组。
急急C语言查找子字符串
char* search(char* str, char ch)
{
char *pmax, *p, *p1;
int max;
pmax = NULL;
max = 0;
p = str;
while(1)
{
while(*p != NULL *p !=ch) p++;
if(*p== ch)
{
for(p1=p++; *p==ch; p++);
if(p-p1 max)
{
max = p-p1;
pmax = p1;
}
}
}
return pmax;
}
关于查找字符串子串的C语言程序(VC界面)
定义为:char *p;
完整的程序如下:
#includestdio.h
#includestring.h
void main()
{
int i;
char a[30],ch;
char *p;//这里!这里!这里!这里!这里!这里!这里!这里!这里!这里!
gets(a);//输入带空格字符的字符串,赋予字符数组变量a
ch=getchar();//输入要查找的字符赋予字符变量b
p=strchr(a,ch);//查找字符位置函数
if(p!=NULL)
printf("在字符串%s中以字符%c开始的子串为%s.\n",a,ch,p);
else
printf("在字符串%s中没找到字符%c.\n",a,ch);
}
在线等 C语言中,求字符串子串的函数
在纯C中好像没有,但是C++中很容易,你可以去查一下,网上有很多纯C实现的子串求法
string的substr函数是C++的,是STL库中的,而非纯C的实现,纯C的标准库中没有直接获得子串的方法,自己写很容易
C语言求子字符串个数
c:
#include stdio.h
#include stdlib.h
#include math.h
#include string.h
int countsub(char *str, char *ss) {
int len = strlen(str), index = 0, max = 0;
int *maxStr = (int*)malloc(sizeof(int) * len);
for (index = 0; index len; ++index) {
maxStr[index] = 0;
}
index = 0;
for (int i = 0; str[i] != '\0'; ++i) {
int j = 0;
for (; ss[j] != '\0' str[i + j] != '\0' ss[j] == str[i + j]; ++j);
if (j 0 ss[j] == '\0') {
maxStr[index]++;
i += j - 1;
} else {
index++;
}
if (maxStr[index] max)
max = maxStr[index];
}
return max;
}
int main() {
char s1[1000] = { 0 }, s2[100] = { 0 };
gets(s1);
gets(s2);
printf("%d\n", countsub(s1, s2));
return 0;
}
关于找子字符串函数c语言和查找子字符串的算法c语言的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。