编写一个c++程序实现以下功能,由键盘输入一个由数字和非数字组成的字符串(不含空格),每个整数之间用若是被“,”逗号隔开则算为一个整数。将其中连续的数字作为一个整数,依次存放到一个数组中,统计有多少个整数,输出整数的个数和这些整数,通过指针的方式实现。
时间: 2024-12-21 17:22:42 浏览: 4
在C++中,你可以使用`std::cin`从键盘读取用户输入,利用`istringstream`解析字符串,以及`vector`存储整数。这里是一个简单的示例程序:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
int main() {
std::string input;
std::cout << "请输入一个由数字和非数字组成的字符串:";
std::getline(std::cin, input);
std::vector<int> integers; // 存储整数的vector
int num = 0; // 计数器
std::istringstream iss(input);
std::string token;
while (iss >> token) { // 解析每一个token
if (!iss.fail()) { // 如果成功读取到整数
int temp;
if (std::isdigit(token[0])) { // 验证是否全为数字
temp = std::stoi(token);
integers.push_back(temp);
num++; // 整数个数加一
} else {
break; // 非数字字符结束处理
}
}
}
std::cout << "整数的个数是:" << num << std::endl;
std::cout << "整数数组:";
for (const auto &i : integers) {
std::cout << i << " ";
}
std::cout << std::endl;
// 使用指针遍历整数并打印
std::cout << "使用指针访问整数:";
for (size_t i = 0; i < integers.size(); ++i) {
std::cout << &integers[i] << ": " << *(&integers[i]) << " ";
}
std::cout << std::endl;
return 0;
}
```
阅读全文