海康威视 字符串分隔

为啥这个我只过了20...,是不是要回家养猪了😒😒#C++工程师#
全部评论
分隔符可能是多位 int main(){ string str; while (getline(cin, str)){ int len = str.size(); int index = str.rfind(' '); string interval = str.substr(index+1, len); //分隔符 int lenofinterval = interval.size(); //分隔符长度 int start = 0, station = 0; station = str.find(interval, start); while (station != -1){ cout << str.substr(start, station-start) << endl; start = station + lenofinterval; station = str.find(interval, start); } } return 0; }
点赞 回复
分享
发布于 2017-09-14 17:05
我也是...c++
点赞 回复
分享
发布于 2017-09-14 16:49
联想
校招火热招聘中
官网直投
我只有0.。。。不知道哪出错
点赞 回复
分享
发布于 2017-09-14 16:51
因为分隔符可能是两位、三位。。改了这个之后AC了
点赞 回复
分享
发布于 2017-09-14 16:52
用于分割的是字符串,不是一个字符。20应该是只考虑了字串长度为1的情况
点赞 回复
分享
发布于 2017-09-14 16:52
我也以为分隔符是一位,改成多位以后从0.2到了0.8,然后想是不是原始字符串中可以有空格啊。。
点赞 回复
分享
发布于 2017-09-14 16:58
没想到竟然还有这个操作
点赞 回复
分享
发布于 2017-09-14 17:01
字符串不一定是单字符,
点赞 回复
分享
发布于 2017-09-14 17:08
#include <iostream> #include <string> using namespace std; int main() { string str; string ch; while(cin >> str >> ch) { int len=ch.size(); for(int i=0;i<str.size();i++) { if(str.substr(i,len)==ch) { i=i+len-1; cout << endl; } else cout << str[i]; } } }
点赞 回复
分享
发布于 2017-09-14 17:09
#include <iostream> #include <string> using namespace std; int main() { string str; getline(cin,str); int len = str.size(); while (!str.empty()) { int i = str.find_first_of(','); string s = str.substr(0, i); str = str.substr(i + 1); cout << s << endl; } cin >> str; return 0; } 为什么这段代码为0%。。。
点赞 回复
分享
发布于 2017-09-14 17:59

相关推荐

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