输入一行字符,统计其中连续数字和连续字母的个数,并输出内容。给出详细的C或C++代码
时间: 2024-12-02 14:18:44 浏览: 18
为了实现这个功能,我们可以编写一个简单的C++程序。这个程序会遍历输入字符串,分别统计连续的数字和字母的数量。以下是详细的C++代码:
```cpp
#include <iostream>
#include <string>
int count_consecutive_chars(const std::string& input, char type) {
int count = 0;
for (size_t i = 0; i < input.size(); ++i) {
if (input[i] == type) { // 检查是否是目标字符
++count;
continue;
}
if (type == 'a' && isalpha(input[i])) { // 如果上一个是字母,检查当前是否也是字母
continue;
}
else if (type == '0' && isdigit(input[i])) { // 同理,处理数字情况
continue;
}
// 找到非目标字符,结束计数
break;
}
return count;
}
int main() {
std::string input;
std::cout << "请输入一行字符: ";
std::getline(std::cin, input);
int num_digits = count_consecutive_chars(input, '0');
int num_letters = count_consecutive_chars(input, 'a'); // 或者用tolower(input[i])以处理大小写字母
std::cout << "连续数字的个数: " << num_digits << "\n";
std::cout << "连续字母的个数: " << num_letters << "\n";
return 0;
}
```
在这个程序中,`count_consecutive_chars`函数接受一个字符串和一个字符类型作为参数,然后计算该字符在输入串中的连续出现次数。在`main`函数中,我们获取用户输入并调用这两个函数分别统计数字和字母的数量。
运行此程序后,按照提示输入一行字符,它将输出连续数字和字母的个数。
阅读全文