输入一行字符串,不要超过80个字符,含有数字和非数字。连续出现的数字视为一个整数,要求统计整数个数,并输出写一个c++
时间: 2024-12-20 20:25:22 浏览: 6
Python实现统计英文单词个数及字符串分割代码
在C++中,你可以使用`std::istringstream`来解析输入字符串,并利用`std::isdigit`函数来判断字符是否为数字。下面是一个简单的程序示例,它会统计输入字符串中的整数个数:
```cpp
#include <iostream>
#include <sstream>
#include <string>
int countIntegers(const std::string &input) {
int integerCount = 0;
std::istringstream iss(input);
char currentChar;
while (iss >> currentChar) {
if (!isdigit(currentChar)) { // 非数字字符结束当前整数
if (!iss.eof()) { // 检查是否还有下一个整数
iss.unget(); // 回退读取位置,继续检查下一个字符
}
break;
} else if (iss.peek() != ',') { // 如果不是逗号,表示这是完整的一个整数
++integerCount; // 增加计数
}
}
return integerCount;
}
int main() {
std::string input;
std::cout << "请输入一个不超过80字符的字符串,含有数字和非数字:" << std::endl;
std::getline(std::cin, input); // 获取用户输入
if (input.length() > 80) {
std::cerr << "输入超过80字符限制,请重新输入!" << std::endl;
return -1;
}
int integerCount = countIntegers(input);
std::cout << "字符串中共有 " << integerCount << " 个整数。" << std::endl;
return 0;
}
```
这个程序首先获取用户的输入,然后调用`countIntegers`函数来计算整数的数量。请注意,此代码假设输入字符串中没有包含逗号作为数字分隔符。
阅读全文