在编程竞赛,往往给定了输入的形式为:识别两个空间分隔符和换行字符在C或C++
1 3 5 544
4
2 3 22
2423
2
其中存在由空格分隔的整数的多条线。我一直在试图弄清楚如何在C或C++中读取这些输入,但永远无法真正实现它的工作。我在网上找到的解决方案使用scanf或getline(或fget),但每当我尝试时,他们要么不能识别换行符,要么在我试图将它们与for循环结合使用时,第一次迭代wasn没有执行。
真正的竞争程序员如何阅读这种类型的输入?我知道这个问题可能不够清楚,并且我没有提供代码片段或任何内容 - 如果每个人都发现该帖子不适合论坛,我会删除帖子。
嗨。请向我们展示失败的代码。 – 2015-02-06 09:52:26
我们使用'std :: ifstream :: operator >>'。你可以把换行符当作空格。 – avakar 2015-02-06 09:53:35
'std :: getline'消耗换行符,但不会将其附加到字符串。无论如何,你为什么关心换行符?推测这些挑战有静态的输入,你不需要担心动态地做事。 – 2015-02-06 09:58:02