输入一组分行的字符串,请使用c语言编写一段程序,判断其中特定字符子串出现了多少次,并输出每次出现时第一个字符的行数和列数
时间: 2024-04-16 21:26:41 浏览: 89
输出一个字符串中每个字符出现的次数
你好!以下是使用C语言编写的程序,用于判断特定字符子串在一组分行的字符串中出现的次数,并输出每次出现时第一个字符的行数和列数:
```c
#include <stdio.h>
#include <string.h>
void findSubstring(char* str, char* substr) {
int line = 1;
int column = 1;
int count = 0;
char* token = strtok(str, "\n");
while (token != NULL) {
char* ptr = strstr(token, substr);
while (ptr != NULL) {
printf("Substring found at line %d, column %d\n", line, column + (ptr - token));
count++;
ptr = strstr(ptr + 1, substr);
}
token = strtok(NULL, "\n");
line++;
column = 1;
}
printf("Total occurrences: %d\n", count);
}
int main() {
char str[] = "This is a test\n"
"to check the substring\n"
"occurrences in a multiline\n"
"string.";
char substr[] = "is";
findSubstring(str, substr);
return 0;
}
```
在这个示例程序中,我们将要搜索的字符串 `is` 存储在 `substr` 变量中,将一组分行的字符串存储在 `str` 变量中。
`findSubstring` 函数用于查找特定字符子串在每一行中的出现次数,并输出每次出现时的行数和列数。它使用了 `strstr` 函数来找到子串在每一行中的位置,并利用循环来查找所有出现的位置。
在 `main` 函数中,我们调用了 `findSubstring` 函数来查找特定字符子串在分行字符串中的出现次数并输出结果。
请注意,这只是一个示例程序,你可以根据具体需求进行修改和适配。希望对你有帮助!如果还有其他问题,请随时提问。
阅读全文