从getline读取一行带空格间隔的数字,存储到int型容器中。
在ASCII码中,数字0-9被存储于48~57,利用这个思路,可以实现字符到int型的转换。例如 char a='1';int b=a-48;所以代码如下:#include#include#includeusing namespace std;int main(){vectora;string str;getline(cin, str);int temp =
·
在ASCII码中,数字0-9被存储于48~57,利用这个思路,可以实现字符到int型的转换。
例如 char a='1';
int b=a-48;
所以代码如下:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
vector<int>a;
string str;
getline(cin, str);
int temp = 0;
for (int i = 0; i != str.size(); ++i)
{
if (isdigit(str[i]))
{
temp =temp* 10 + (str[i] - 48);
}
else
{
a.push_back(temp);
temp = 0;
}
if (i == (str.size() - 1)) {
a.push_back(temp);
}
}
for (auto i : a)
{
cout << i<< endl;
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)