我是运动代码。问题是,用新线替换输入空间。
我写了这样的话:
int input;
while((input = getchar()) != EOF)
{
if (input == ' ')
{
input = '\n';
}
putchar(input);
}
但是我不知道如何让它将一个以上的空间改成一个新的行。我有一个想法,就像缓冲区变量(例如int缓冲区)和存储空间,然后检查输入后,前一个字符是否为空格,但我不知道如何使其工作:P < / p>
答案 0 :(得分:3)
int input, last_was_space = 0;
while((input = getchar()) != EOF)
{
if(input == ' ')
{
last_was_space = 1;
}
else
{
if(last_was_space)
{
last_was_space = 0;
putchar('\n');
}
putchar(input);
}
}
答案 1 :(得分:0)
使用此而不是if语句:
if(input == ' ') {
while (input == ' ')
{
input = getchar();
}
putchar('\n');
}
答案 2 :(得分:-1)
也许这对你有用,虽然新线不会出现,直到输入结束或输入第一个非空格字符。
JoinableQueue.join()