zoukankan      html  css  js  c++  java
  • 二十三:子串判断

    问题 B: 子串判断
    题目描述

    写一段程序用来判断一个字符串是否出现在另一个字符串中
    输入
    两个字符串(字符串最大长度为100)
    输出
    yes或no
    样例输入
    abab
    fababkr
    样例输出

    yes

    方法一:

     1 #include<stdio.h>
     2 void fun(char str1[],char str2[],int n,int m){
     3     int i,j,l;
     4     for(j=0;j<m-1;j++){
     5         i=0;
     6         if(str1[i]==str2[j]){
     7             int k=j;
     8             while(str1[++i]==str2[++k]&&i<n-1){
     9                 printf("i=%d
    ",i);
    10             }
    11         }
    12         if(i==n-1){
    13             printf("yes");
    14             return;
    15         }
    16     }
    17     printf("no");
    18 }
    19 int main(){
    20     char str1[100],str2[100];
    21     scanf("%s%s",str1,str2);
    22     int i=0,j=0;
    23     while(str1[i++]!='');
    24     while(str2[j++]!='');
    25     if(i<j){
    26         fun(str1,str2,i,j);
    27     }else{
    28         fun(str2,str2,j,i);
    29     }
    30     return 0; 
    31 }

    方法二:

     1 #include<stdio.h>
     2 #include<string.h>
     3 void fun(char str1[],char str2[]){
     4     int k=0;
     5     int i;
     6     for(i=0;i<strlen(str1);i++){
     7         if(str1[i]==str2[k]){
     8             k++;
     9         }else{
    10             k=0;
    11         }
    12         if(k==strlen(str2)){
    13             printf("yes");
    14             return;
    15         }
    16     }
    17     printf("no");
    18     return;
    19 }
    20 int main(){
    21     char str1[100],str2[100];
    22     scanf("%s%s",str1,str2);
    23     if(strlen(str1)>strlen(str2)){
    24         fun(str1,str2);
    25     }else{
    26         fun(str2,str1);
    27     }
    28     return 0;
    29 }
  • 相关阅读:
    已经连接到空闲例程的解决方法
    SQLplus命令中导出数据
    Oracle设置时间格式
    Oracle热备份
    多元化控制文件
    ORA28000: the account is locked
    Windows 7 如何删除 Windows.old 文件夹
    Linux常用命令之文件命令
    Linux 常用命令之进程管理
    Python中的apply,filter和map函数
  • 原文地址:https://www.cnblogs.com/yuming226/p/8150884.html
Copyright © 2011-2022 走看看