📜  C |功能|问题11(1)

📅  最后修改于: 2023-12-03 14:39:39.932000             🧑  作者: Mango

C |功能|问题11

简介

在C语言中,问题11通常是指一个比较简单的问题:如何检查一个给定的字符串中是否包含给定的子字符串。

功能

这个问题的解决方法可以实现如下功能:

  1. 输入一个字符串和一个子字符串;
  2. 判断子字符串是否在字符串中出现;
  3. 输出结果,即子字符串是否出现在字符串中。
解决方案

在C语言中,可以通过字符串的遍历和比较来判断子字符串是否出现在字符串中。

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

int main() {
    char str[100], substr[100];
    int i, j, flag = 0;
    
    printf("Enter a string: ");
    gets(str);
    
    printf("Enter a substring: ");
    gets(substr);
    
    for(i = 0; i < strlen(str) - strlen(substr) + 1; i++) {
        for(j = 0; j < strlen(substr); j++) {
            if(str[i + j] != substr[j]) {
                break;
            }
        }
        if(j == strlen(substr)) {
            flag = 1;
            break;
        }
    }

    if(flag == 1) {
        printf("'%s' contains '%s'\n", str, substr);
    }else {
        printf("'%s' does not contain '%s'\n", str, substr);
    }
    
    return 0;
}
使用方法
  1. 将上述代码复制到C语言编译器中;
  2. 编译并运行代码;
  3. 输入字符串和子串;
  4. 根据输出结果判断子串是否在字符串中出现。