#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
int k = 0,flag = 0;
int a[50] = { 0 };//a[]存放整数
cout << "please input a string:";
getline(cin,str);
//cin输入字符串时会忽略空格以后的字符,getline(),接收字符串,可以包含空格
for (int i = 0; i <str.length(); i++)
{
//得到连续的数字字符,转换为数字,并存放于数组a[]中
if(str[i] >= '0' && str[i] <= '9')
{
a[k] = a[k] * 10+ int(str[i] - '0');
flag = 1;
}
else if (flag==1)//如果当前字符非数字字符,且前一个字符为数字字符时,记录该整数
{
++k;//数组下标加1,记录下一整数
flag = 0;
}
}
cout << "整数个数为:" << k+1 << endl;//数组下标是从0开始,所以整数个数为:数组下标+1
cout << "整数分别为:";
for (int i = 0; i <= k; i++)
cout << a[i] << "\t";
return 0;
}