C++输入问题

😢😢😢😢想知道c++怎么输入[1,-2,-6,7]这样的数组,每次都卡这里😂😂😂#C/C++##笔试题目#
全部评论
int main(){ vector<int> vec; string s; getline(cin, s); for(int i = 0; i < s.size(); i++){ if(s[i] >= '0' && s[i] <= '9'){ int tmp = s[i] - '0'; vec.push_back(tmp); } if(s[i] == '-'){ int temp = '0' - s[i+1]; vec.push_back(temp); i++; } } cout << "验证输入\n"; for(auto x : vec) cout << x << " "; return 0; }
点赞 回复
分享
发布于 2019-09-12 22:55
啥意思
点赞 回复
分享
发布于 2019-09-10 22:07
阿里巴巴
校招火热招聘中
官网直投
我也想知道,每次都暴力解析,不然就find 或者 stringstream分割😂
点赞 回复
分享
发布于 2019-09-10 22:08
我一般有sstream做,,,,但这题我只有20%,很纳闷,不知道哪里出问题了。。。。。
点赞 回复
分享
发布于 2019-09-10 22:10
getline进去处理ac了
点赞 回复
分享
发布于 2019-09-10 22:17
同问,这样的怎么输入算是结束了呢,如果用vector存储,怎样才能停止输入呢
点赞 回复
分享
发布于 2019-09-10 22:23
getline输入字符串,去掉所有空格,按逗号分隔,C++确实麻烦
点赞 回复
分享
发布于 2019-09-10 22:33
当成字符串 然后割
点赞 回复
分享
发布于 2019-09-10 22:40
给你一个分割字符串形式的数组的神器. vector<int> getvec(string str){ vector<int> vec; string temp = ""; for(int i=0;i<str.length();++i){ if(!isdigit(str[i])){ if(temp.size() > 0) vec.push_back(toint(temp)); temp = ""; } else temp += str[i]; } if(temp.size() > 0) vec.push_back(toint(temp)); return vec; }
点赞 回复
分享
发布于 2019-09-10 22:43
getline然后处理字符串
点赞 回复
分享
发布于 2019-09-29 18:40

相关推荐

点赞 9 评论
分享
牛客网
牛客企业服务