当前位置:首页 » 编程语言 » c语言判断字符串包含
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言判断字符串包含

发布时间: 2023-05-04 09:52:51

A. 怎样用c语言编写程序判断字符串S1是否包含字符串S2.(不使用库函数)

1.字符串S2的第一个字母在串S1中查找~若无则不包含
2.若有则取S2的第二个字母在串S1相对第一个找到的位置继续匹配~若不匹配,则回到第一步,和查找到的第二个和S1中匹配的S2的第一个字母
若匹配,则继续第2步
直到串S2的所有字符与串S1的字符完全匹配,则包含~

B. c语言字符串包含字符个数怎么看

c语言字符串包含字符个数, 可以用 strlen() 测定字符串长度,用 sizeof() 测定字符串占用内存多少字节。
c语言字符串中,可以含有 “转义字符”(escape sequence),
例如: \r \n \t \\ 八进制数码 \0123 十六进制数码 \xab, 不可见字符串结束符 \0 等。
所以不能以打字时按了几次键,或一个字符一个字符地去数,那样判断。
程序例子,判断 "abc\0123\xab\n" 的字符串长度和占用内存多少字节:
#include <stdio.h>
int main()
{
char s[]="abc\0123\xab\n";
printf("%d %d\n",strlen("abc\0123\xab\n"),sizeof("abc\0123\xab\n")); //方法一
printf("%d %d\n",strlen(s),sizeof(s)); //方法二
return 0;
}
输出
7 8 //方法一,用字符串常量。
7 8 //方法二,用字符串变量s。

C. C语言中怎么判断一个字符串包含在另一个字符串里面

#include<stdio.h>
#include<string.h>
intmain()
{
intflag;
chara[30]="iamtired";
charb[100];

scanf("%s",b);

if(strstr(b,a))
flag=1;
else
flag=0;

printf("flag=%d ",flag);
return0;
}

D. c语言中判断一个字符串是否包含另一个字符串

string.h
strstr函数
函数名: strstr
功 能: 在串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
说明:返回指向第一次出现氏坦str2位置的指针,如果没找到则返回NULL。

调用函数,判断返回值是否等于NULL,决定是否输出
如;
char *p=".c"; //需要卖核返的子串
if(strstr(A,p)) printf("%s",A);

第一行中饥是要查找的字符串
第二行是被查找句子

输出要查找的字符串在被查找句子的首个位置

E. c语言 定义一个函数,判断某字符串中是否包含一个子串

intfind(char*source,char*target)//source为源字符串,target为子字符串,如找到则返回在源串中的位置,如未找到则返回-1,如果要改为找到返回1,把returni改为return1;
{
inti,j;
ints_len=strlen(source);
intt_len=strlen(target);
if(t_len>s_len)
{
return-1;
}
for(i=0;i<=s_len-t_len;i++)
{
j=0;
intflag=1;
if(source[i]==target[j])
{
intk,p=i;
for(k=0;k<t_len;k++)
{
if(source[p]==target[j])
{
p++;
j++;
continue;
}
else
{
flag=0;
break;
}
}
}
else
{
continue;
}
if(flag==1)
{
returni;
}
}
return-1;
}

F. C语言中给定一个字符串,判断它是否包括字母和数字

1 定义两个flag,用来标记是否含有字母和数字,初始值为0;

2 输入字符串;

3 遍历字符串,如果发现字母,标记字母flag,如果发现数字,标记数字flag;

4 遍历结束,或者两个flag均被标记,退出循环;

5 输出结果。

代码如下:

intmain()
{
chars[100];
intc,n,i;
c=n=0;
gets(s);
for(i=0;s[i];i++)
{
if(s[i]>='0'&&s[i]<='9'&&n==0)
{
n==1;
if(c)break;
}
if((s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')&&c==0)
{
c==1;
if(n)break;
}
}
if(n)printf("含有数字 ");
elseprintf("没有数字 ");
if(c)printf("含有字母 ");
elseprintf("没有字母 ");

}

G. C语言中怎么判断一个字符串包含在另一个字符串里面

#include <stdio.h>
#include<string.h>
int flag=0;
void main()
{ int f(char str1[],char str2[]);
char str1[20],str2[20],*s1,*s2;

printf("input string1:\隐灶山n");
gets(str1);
s1=str1;
printf("input string2:\n");
gets(str2); /*str2为要验证的字串*/
s2=str2;
f(s1,s2);
if (flag==1)
printf("\辩局nYES!\n\n");
else if (flag==0)
printf("\nNO!\灶中n\n");
}

int f(char*s1,char*s2)
{char *p,*q;

for(;*s1!='\0';s1++)
{if (*s2==*s1) /*判断字符串中是否有和要判断的字串首字符相同的字符*/
{ flag=1;
p=s1 ; /*s1 p 为第一个相同字符的地址*/
q=s2;
for(;*q!='\0';) /*如果有则判断接下去的几个字符是否相同*/
{ if (*q++!=*p++)
{ flag=0;break;
}
}
}
if (flag==1)break;

}

return(flag);
}

H. C语言. 编写函数,判断在给定字符串中是否包含指定的子串

#include<stdio.h>
#include<string.h>
intmain(){
charstr[100],s[100],i,j,flag=0;
printf("请输入主串: ");
gets(str);
printf("请输入字串: ");
gets(s);
i=0,j=0;
while(i<strlen(str)&&j<strlen(s)){
if(str[i]==s[j]){//如果字符相同则两个字符都增加
纳大芹i++;
洞毕j++;
}
else{
i=i-j+1;//主串字符回到比较最开始比较的后一个字符
j=0;//字串字符重新开始
仿仔}
if(j==strlen(s)){//如果匹配成功
flag=1;//字串出现
break;
}
}
if(flag==1)printf("%s中包含%s ",str,s);
elseprintf("%s中不包含%s ",str,s);
return0;
}

I. 用C语言,判断字符串1是否包含字符串2

main()
{char s1[6]="thisis";char s2[5]="is"枯前;
printf("%d\n",search(s1,s2));
system("pause");
}
int search(char s1[],char s2[])
{int i=0,j,len=strlen(s2);
while(s1[i]){
for(j=0;j<祥橘len;j++)
if(s1[i+j]!=s2[j]) break;
if(j>=len)return i;
else i++;
}
return -1;
}
如果解决你的问题给个最没宴清佳答案呗谢谢

J. C语言定义一个函数,判断字符串中是否包含另一个子串!!!!!!急

调用strstr()函数银拍型贺晌就可以实现

#include<string.h>
#include<stdio.h>

intmain()
{
chars[]="12345678";
chars1[]="135";
chars2[]="567";

if(strstr(s,s1))
{
printf("ok ");
}
else
{
printf("no ");
}
//--以上显示no
if(锋猜strstr(s,s2))
{
printf("ok ");
}
else
{
printf("no ");
}
//--以上显示ok
return0;
}