c++ - 如何在 C++ 中打印多个输入和输出?
问题描述
我正在尝试解决一本竞争性编程书中的问题,其中输出仅在输入最后一个输入后出现。我似乎已经把逻辑搞定了,但我仍然对如何做输入/输出部分感到困惑。
这是代码:
#include <bits/stdc++.h>
int main()
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
std::vector<int>soundex;
std::string word;
for(int i = 0; i < word.length(); i++)
{
if (word[i] == 'B'|| word[i] == 'F' || word[i] == 'P' || word[i] == 'V')
{
soundex.push_back(1);
}
if (word[i] == 'C' || word[i] == 'G' || word[i] == 'J' || word[i] == 'K' || word[i] == 'Q' || word[i] == 'S' || word[i] == 'X' || word[i] == 'Z')
{
soundex.push_back(2);
}
if (word[i] == 'D' || word[i] == 'T')
{
soundex.push_back(3);
}
if (word[i] == 'L')
{
soundex.push_back(4);
}
if (word[i] == 'M' || word[i] == 'N')
{
soundex.push_back(5);
}
if (word[i] == 'R')
{
soundex.push_back(6);
}
}
for (int j = 0; j < soundex.size(); j++)
{
if (soundex[j] == soundex[j+1])
{
soundex.erase(soundex.begin() + 1);
}
std::cout << soundex[j];
}
std::cout << "\n";
return 0;
}
它的行为如下:
输入:
KHAWN
输出:
25
输入:
PFISTER
输出:
1236
输入:
BOBBY
输出:
11
但是根据问题的说明,我需要它表现得像这样:
输入:
KHAWN
PFISTER
BOBBY
输出:
25
1236
11
解决方案
用于while(cin >> word){ ... your code ... }
读取直到 EOF(文件结束),以防每行仅包含一个单词(不允许空格)。您可以保持输出不变。
推荐阅读
- node.js - 节点js响应加载资源失败:服务器响应状态为404(未找到)
- javascript - 将 dom 操作放在 redux reducer 中是个坏主意?
- python - 如何从另一个列表中删除空列表?
- user-interface - 使用 backgroundWorker 时 C++ GUI 写入文本框
- oracle - Oracle 表单圆角按钮
- javascript - 使用 vanilla JS 从页面中删除渲染图像?
- android - Kotlin 协程 mvvm 从模型返回值
- php - laravel 为 foreach() 提供的一对多无效参数
- sql - 如何将 2 个条件计数查询组合成一个查询?
- python - 将此元组列表转换为字典