當前位置:首頁 » 編程語言 » 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;
}