华为3月9日笔试

第二题的输入是一个不定长数组,我想用c++ 的vector 来保存做,但是处理不了输入的结束标志, 以前遇到这种题一般都是先给一个n告诉你有多少个,第一次碰到这个不定长的不知道咋处理了。
vector<int> nums;

int a;
while(cin >> a) {
    nums.push_back(a);
}
像上面这样就会跳不出这个循环。

然后还像下面这种试了也不行。
do {
    cin >> a;
    nums.push_back(a);
} while(getchar() != EOF)

下面这种在我自己本机可以,但是在平台上不行。
do {
    cin >> a;
    nums.push_back(a);
} while(getchar() != '\n')

求教一下各位一般是怎么处理的
#华为春招笔试##华为##笔经#
全部评论
vector<int> nums; int a; while(cin >> a) {     nums.push_back(a); if(cin.get()=='\n') break; }</int>
3 回复 分享
发布于 2022-03-10 08:18
还有一种思路是输入字符串,然后以空格作为分割符到数组中
1 回复 分享
发布于 2022-03-10 08:19

相关推荐

仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务