帮我用c➕➕语言编写一段程序可以达到输个字符串,存入数组,通过指针查找该字符串中有多少个“an”的目的
时间: 2024-11-15 11:29:04 浏览: 2
字符串逆序-使用C语言+递归实现字符串逆序.zip
当然,这里是一个简单的 C++ 程序示例,它会接收用户输入的字符串,存储到字符数组中,并计算其中 "an" 子串的数量:
```cpp
#include <iostream>
#include <string>
int count_substring(const char* str, const char* sub) {
int count = 0;
size_t pos = 0;
while ((pos = std::strchr(str + pos, 'a')) != nullptr && (pos = std::strchr(str + pos + 1, 'n')) != nullptr) {
++count; // 如果找到 'a' 后跟着 'n'
pos += 2; // 移动指针到下一个可能的位置
}
return count;
}
int main() {
std::cout << "请输入一个字符串: ";
std::string input;
getline(std::cin, input); // 使用getline获取包括空格的完整行
// 将输入字符串转换为字符数组
const char* str_arr = input.c_str();
int an_count = count_substring(str_arr, "an");
std::cout << "字符串中 \"an\" 的个数: " << an_count << std::endl;
return 0;
}
```
在这个程序中,`count_substring` 函数接受一个字符串和子字符串作为参数,使用 `std::strchr` 函数查找子字符串 "an" 是否存在于原字符串中。主函数中读取用户输入并调用这个函数。
阅读全文