保持输出和输入不交替
Keep output and input from alternating?
我对编码很陌生,一直在练习一些简单的问题 codeforces.com。 我正在解决这个问题,但它似乎要求输入(一次全部)产生输出(一次全部)。 我只能弄清楚如何一次获得一个输出。
以下是该问题的基本说明:
输入
第一行包含一个整数 n(1 ≤ n ≤ 100)。以下 n 行中的每一行都包含一个单词。所有单词都由小写拉丁字母组成,长度为 1 到 100 个字符。
输出
打印 n 行。第 i 行应包含从输入数据中替换第 i 个单词的结果。
例子
输入
四
词
地方化
国际化
肺超微微矽火山病
输出
词
L10N
i18n
P43S
这是我的代码:
#include <iostream>
#include <string>
using namespace std;
void wordToNumbers(string word){
int midLetters = word.length();
char firstLetter = word.front();
char lastLetter = word.back();
cout <<firstLetter <<(midLetters-2) <<lastLetter <<endl;
}
int main(){
string wordInput;
string firstNum;
getline(cin,firstNum);
int i = stoi(firstNum);
for(i>=1; i--;){
getline(cin,wordInput);
if (wordInput.length() > 10){
wordToNumbers(wordInput);
} else {
cout <<wordInput <<endl;
}
}
return 0;
}
可以
逐行读取和打印输出。
您的解决方案完全被接受:http://codeforces.com/contest/71/submission/16659519
我也是 c++ 的初学者。我的想法是先将每一行保存在缓冲区中,然后将所有内容写入 std::cout。
我使用 std::vector 作为缓冲区,因为 IMO 它很容易理解并且在许多情况下非常有用。基本上它是一个更好的数组。你可以在这里阅读更多关于std::vector的信息。
#include <iostream>
#include <string>
//for use of std::vector container
#include <vector>
using namespace std;
void wordToNumbers(string word){
int midLetters = word.length();
char firstLetter = word.front();
char lastLetter = word.back();
cout <<firstLetter <<(midLetters-2) <<lastLetter <<endl;
}
int main(){
string wordInput;
string firstNum;
//container for buffering all our strings
vector<string> bufferStrings;
getline(cin,firstNum);
int i = stoi(firstNum);
//read line by line and save every line in our buffer-container
for(i>=1; i--;){
getline(cin,wordInput);
//append the new string to our buffer
bufferStrings.push_back(wordInput);
}
//now iterate through the buffer and write everything to cout
for(int index = 0; index < bufferStrings.size(); ++index) {
if (bufferStrings[index].length() > 10){
wordToNumbers(bufferStrings[index]);
} else {
cout <<bufferStrings[index] <<endl;
}
}
return 0;
}
可能这不是最好或最漂亮的解决方案,但它应该很容易理解:)
相关文章:
- 字符的输入/输出操作
- C++ 中文件输入输出中的长长 v/s int
- 要求用户输入C++输出文件名
- 在C++中重载输入/输出运算符
- 从用户获取输入/输出
- 如何选择waveIn/waveOut函数C++使用的输入/输出设备
- C++击球平均值程序使用输入/输出文件打印名称,平均值,最高/最低平均值时遇到麻烦
- 从 2 位输入输出 4 位数字年份
- 标准输入输出操作如何C++完成
- Windows 中应用程序的每秒输入/输出操作数
- 如何初始化可以设置为默认数组并将输入/输出作为数组的类函数?
- 输入/输出和类
- 使用 Octave GNU 访问输入/输出文件
- (C++)分解这个简单的输入/输出代码:
- TensorFlow模型:如何从原始爱好文件中识别输入/输出节点名称
- 干净取消在输入/输出调用中被阻止的 std::线程
- 将线程之间的标准输入/输出重定向
- 输入/输出异或字符串的 C++ 问题
- C++输入/输出错误
- C++输入输出