租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

c语言怎么查找字符串出现次数,C语言怎么查找100-200的素数

发布时间:2023-11-07 08:51:19

c语言怎样查找字符串出现次数

在C语言中,可使用循环和条件判断来查找字符串中某个子串的出现次数。以下是一个示例代码:

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

int countOccurrences(const char *str, const char *subStr) {
    int count = 0;
    int subStrLen = strlen(subStr);
    
    while (*str) {
        if (strncmp(str, subStr, subStrLen) == 0) {
            count++;
        }
        str++;
    }
    
    return count;
}

int main() {
    char str[100];
    char subStr[100];
    
    printf("请输入一个字符串:");
    fgets(str, sizeof(str), stdin);
    str[strcspn(str, "
")] = '';  // 删除换行符
    
    printf("请输入要查找的子串:");
    fgets(subStr, sizeof(subStr), stdin);
    subStr[strcspn(subStr, "
")] = '';  // 删除换行符
    
    int occurrences = countOccurrences(str, subStr);
    
    printf("子串 "%s" 在字符串 "%s" 中出现了 %d 次。
", subStr, str, occurrences);
    
    return 0;
}

在上面的代码中,countOccurrences 函数用于计算子串在字符串中出现的次数。内部使用了 strncmp 函数来比较字符串,while 循环遍历全部字符串,每次比较字符串的一部份是否是与子串相等,如果相等则计数器加1,然后继续循环。最后返回计数器的值。

main 函数中,首先接收用户输入的字符串和子串。然后调用 countOccurrences 函数来计算子串在字符串中出现的次数,并将结果打印出来。

注意:

  • 在程序中使用了 fgets 函数来读取用户输入的字符串和子串,使用 strcspn 函数删除输入字符串中的换行符。
  • 该代码只能计算子串在字符串中连续出现的次数,如果要计算非连续出现的次数,需要进行修改。