用cpp写输入一个字符串,内有数字和非数字字符。例如:a123×456 17960 302tab5876. 将其中连续的数字作为一个整数,依次存放到一维数组a中,,例如123放在a[0], 456放在all]. 统计共有多少个整数,并输出这些数。
时间: 2024-02-25 22:56:57 浏览: 100
好的,这是一个比较常见的字符串操作问题。我可以给出如下的代码示例:
```cpp
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s); // 读入一行字符串
vector<int> a; // 存放整数的数组
int n = s.size(); // 字符串长度
int i = 0;
while (i < n) {
if (isdigit(s[i])) {
// 如果当前字符是数字,就将其连续的数字字符转换为整数
int num = 0;
while (i < n && isdigit(s[i])) {
num = num * 10 + s[i] - '0';
i++;
}
a.push_back(num); // 将整数存入数组
} else {
i++;
}
}
// 输出整数
int m = a.size();
cout << "共有 " << m << " 个整数:";
for (int i = 0; i < m; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
这段代码通过遍历字符串,判断每个字符是否为数字,如果是数字,就将其连续的数字字符转换为整数,并将整数存入数组中。最后输出数组中的整数即可。
阅读全文