gpt4 book ai didi

c - K&R 练习 1-9 (C)

转载 作者:太空狗 更新时间:2023-10-29 16:28:16 26 4
gpt4 key购买 nike

"Write a program to copy its input to its output, replacing each string of one or more blanks by a single blank."

我假设他的意思是输入类似...

We(blank)(blank)(blank)go(blank)to(blank)(blank)(blank)the(blank)mall!

...并像这样输出:

We(blank)go(blank)to(blank)the(blank)mall!

这可能比我想象的要容易,但我似乎还是想不通。我真的不想要代码...更多的是伪代码

还有,我应该怎么看这个?我非常确定我编写的任何程序都至少需要一个 variable、一个 while 循环、一对 if 语句,并且将同时使用 getchar()putchar() 函数...但除此之外我不知所措。我还没有真正的程序员思路,所以如果你能给我一些关于我应该如何看待“问题”的建议,那就太好了。

(请不要提出else,我在书中没有讲到那么多,所以现在这超出了我的范围。)

最佳答案

将您的程序视为一台机器,它在迭代输入时在不同状态之间移动。

它一次读取输入的一个字符。如果它看到的不是空白,它就打印它看到的字符。如果它看到一片空白,它就会转移到不同的状态。在该状态下,它会打印一个空白,然后如果它看到空白,不会打印它们。然后,它继续读取输入,但忽略它看到的所有空白——直到它遇到一个不是空白的字符,此时它转换回第一个状态。

(这个概念被称为有限状态机,顺便说一句,很多理论计算机科学工作已经深入到他们能做什么和不能做什么。Wikipedia 可以告诉你更多,尽管可能比您正在寻找的细节更复杂。;))

关于c - K&R 练习 1-9 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com