C++怎么解决输入两行数据的

今天做滴滴的编程题,题目挺简单的,寻找第K大的数字。
先输入一行整数,再输入一个K值,求第K大值。
问题是,我怎么知道第一行输入已经结束了,什么时候输入K。
之前做题多数是第一个数字是告诉你输入有多少。。然后cin的时候就能按照个数输入。
求解答

#滴滴##前端工程师#
全部评论
老铁,我早看到你的问题就好了,我今天拼多多笔试,和你一样的问题,是输入两行数组,题目很简单,就是因为这个问题跑不出来!!!!! 哎
点赞 回复 分享
发布于 2019-07-28 16:32
用getline + istringstream
点赞 回复 分享
发布于 2017-08-26 21:14
vector<int> nums; int n; //把所有数都读进来,最后一个在弹出来赋给 K 即可 while(cin>>n) nums.push_back(n); int K = nums[nums.size()-1]; nums.pop_back();
6 回复 分享
发布于 2017-08-26 19:45
string s; getline(cin, s); istringstream in(s); vector<int> vals; int val; while(in >> val) vals.push_back(val);
点赞 回复 分享
发布于 2017-08-27 17:12
昨天也遇到了,
点赞 回复 分享
发布于 2017-08-27 16:37
全部读到一个数组,最后一个是k
点赞 回复 分享
发布于 2017-08-27 10:17
另外求问cin.get()!='\n'如何解决第一个输入被吃掉的问题,万分感谢
点赞 回复 分享
发布于 2017-08-27 09:31
getline(cin, str)
点赞 回复 分享
发布于 2017-08-26 23:32
我当时也在纠结这个问题,最后选择了用python写
点赞 回复 分享
发布于 2017-08-26 22:55
int num,k; vector<int> vec; while(cin>>num) { if (getchar()=='\n') break; vec.push_back(num); }
点赞 回复 分享
发布于 2017-08-26 21:41
最后一个不就是k....
点赞 回复 分享
发布于 2017-08-26 21:20
输入第一行的时候设置回车结束,然后输入第二行就好了
点赞 回复 分享
发布于 2017-08-26 19:48
cpp没有读入一整行的函数?
点赞 回复 分享
发布于 2017-08-26 19:29

相关推荐

07-20 12:08
已编辑
江南大学 图像识别
机械牛马勇闯秋招:把校园经历里面做过的项目,大作业,课设,毕设啥的,扩写,写成具体的项目经历,自我评价缩写别占篇幅,不然这简历真没东西,初筛都过不了
点赞 评论 收藏
分享
DKS233:(1)专业技能:Java8也太旧了,最少也要了解到JDK17吧,可以参考现在SpringBoot支持的Java最低版本,熟悉mysql基本理论具体指啥,是锁这种具体原理还是分库分表这些业务场景,spring这些专业词汇,大小写要写对(全篇简历都有这个问题,显得不严谨),熟悉使用框架进行业务开发就别写了,如果要写,起码要写到框架原理部分吧,比如aop,启动原理什么的,springcloud具体指哪些模块呢,写清楚,网关还是鉴权还是什么,“改造”没必要写吧,你直接说用springcloud开发的不就行了(2)项目经历:首先格式就有大问题,时间怎么能换行呢,调整一下,响应速度那个,如果指的是将部分数据从其他数据库转到redis的提升就别写了,因为这个不算难点,redis可以写写分布式这些,比如容灾怎么实现的,数据库同步怎么做的
点赞 评论 收藏
分享
投递京东等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

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