解决常见情况下C++终端输入问题
2021/9/9 11:04:21
本文主要是介绍解决常见情况下C++终端输入问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
解决常见情况下C++终端输入问题
在ACM进行编程时候,需要自己输入数据,下面介绍输入情况,能满足绝大多数输入情况
空格间隔
需要输入长度
int main() { int N; cin >> N; vector<int> data(N); for(int i = 0; i < N; ++i) { cin >> data(N); } return 0; }
二维数组也是如此
没有设定长度
int main() { string str; stringstream ss; getline(cin, str, '\n'); ss << str; // 把字符串给数据流 vector<int> data; while(getline(ss, str, ' ')) { data.push_back(stoi(str)); } return 0; }
多行输入,外部嵌套个循环即可。
符号‘,’间隔
简单输入
有无长度参照上面的情况,简单举个例子
int main() { int N; cin >> N; cin.get(); // 先使用cin,后面跟随getline需要先把回车\n消掉,才能读取下一行 vector<int> data(N); string str; stringstream ss; getline(cin, str, '\n'); ss << str; // 把字符串给数据流 while(getline(ss, str, ',')) { data.push_back(stoi(str)); } return 0; }
多维数组直接稍微扩展一下即可解决
循环输入
string k; int n; cin >> n; // 输入行数 cin.get(); // 去除cin的回车 while (n--) { getline(cin, k, '\n'); stringstream ss; ss << k; string str; while (getline(ss, str, ',')) { cout << str << endl; } }
这篇关于解决常见情况下C++终端输入问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南
- 2025-01-03图像文字理解,OCR、大模型还是多模态模型?PalliGema2在QLoRA技术上的微调与应用