记C++读取键盘输入

力扣关键代码模式习惯了,之前笔试(纸写)和这次(机试)题一上来就让我很懵
C++从键盘读取一行或多行或者不确定长度的数据,怎么读啊啊啊啊啊啊啊啊啊啊!!超级麻烦,平常写力扣也不需要我自己处理输入啊
然后Java有Scanner对象虽然很方便,但是我也没拿Java写过算法啊,也不熟悉
做题连输入都不知道怎么获取,真是超级尴尬

一个数字+一行字符串

3
test

int n;
cin >> n;// cin读到换行符之后会停止读入,但是不会把这个换行符读进去
string str;
getchar();// 用来吧第一行末的换行符吞掉,不然后面的getline会读入换行符,然后停止读取。又因为getline函数会把换行符丢弃,最终读到的就为空
getline(cin, str);

其实现在发现直接用cin也没问题,只是要是编译器老了就不支持

一个数字+一串数字

4
5 7 3 9

int main() {
int n, count;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; ++i) {
cin >> nums[i];
}
for (int num : nums) {
cout << num << " ";
}
return 0;
}

不确定行数的数字

以0结尾

3
10
81
0

vector<int> in;
string temp;
// 读入失败getline会返回一个空
while (getline(cin, temp) && temp != "0") {
in.push_back(stoi(temp));
}

本文作者:YaosGHC

本文链接:https://www.cnblogs.com/yaocy/p/16520189.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   YaosGHC  阅读(675)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起