ACM模式各种输入总结 C++
2022/9/8 1:23:03
本文主要是介绍ACM模式各种输入总结 C++,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、整型数组输入:
- (很简单)在终端的一行中输入固定数目的整型数字,并存到数组中,中间以空格分隔。
示例:
- 3
- 1 2 3
int n; cin >> n; vector<int> nums(n); for (int i = 0; i < n; ++i){ cin >> nums[i]; } |
- (重难点)在终端的一行中输入非固定数目的整型数字,并存到数组中,中间以空格(或者其他单字符,./)分隔。
示例:
- 1 2 3
//方法1:getchar //代码通过cin.get()从缓存中读取一个字节,这样就扩充了cin只能用空格和TAB两个作为分隔符。 //这很精巧。发现是'\n'就知道一行结束了 vector<int> nums; int num; while(cin >> num){ nums.push_back(num); if(getchar() == '\n') break; }
//方法2:cin.get vector<int> nums; int num; while(cin>>num){ nums.push_back(num); if(cin.get() == '\n') break; } |
- 在终端的一行中输入固定数目的整型数字,并存到数组中,中间以(其他单字符,./)分隔。
示例:
- 3
- 1,2,3
int m; cin >> m; char sep; vector<int> nums(m);
for (int i = 0; i < m - 1; ++i){ cin >> nums[i] >> sep; } cin >> nums[m - 1]; |
二、字符串输入:
- 给定一行字符串,每个字符串用空格间隔,一个样例为一行
示例: daa ma yello
int main() { string str; vector<string> strs; while (cin >> str) { strs.push_back(str); if (getchar() == '\n') { //控制测试样例 for (auto& str : strs) { cout << "当前单词:"<< str << " "; } cout << endl; strs.clear(); } } return 0; } |
2、给定一行字符串,每个字符串用逗号间隔,一个样例为一行
方法:使用getline 读取一整行字符串到字符串input中,然后使用字符串流stringstream,读取单个数字或者字符。每个字符中间用','间隔
int main() { string input; while (getline(cin, input)) { //读取一行 vector<string> strs; string str; stringstream ss(input); while(getline(ss, str, ',')){ strs.push_back(str); } sort(strs.begin(), strs.end()); for (auto& str : strs) { cout << str << " "; } cout << endl; } return 0; } |
3、给定一行字符串,每个字符串用空格间隔,一个样例为一行
int main() { string input; while (getline(cin, input)) { //读取一行 stringstream data(input); //使用字符串流 int num = 0, sum = 0; while (data >> num) { sum += num; } cout << sum << endl; } return 0; } |
输入 1 2 3
输出6
https://blog.csdn.net/weixin_44674424/article/details/124160921
这篇关于ACM模式各种输入总结 C++的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升