我收到一个带有一堆行的输入文件。 我希望能够计算线数,但也要分析它们。
输入将是许多只有整数的代码行。 例如:
3 2
1 2
2 3
4 3
1 2
2 3
3 4
这是棘手的部分: 第一行有两个数字:3和2.(3现在不相关)。 2非常重要。它表示我必须读取和保存的行数。 所以,根据这个例子,我必须保存行
1 2
2 3
那为什么还有其他线路呢? - 你问。好吧,让我们看看这个输入为块。
在行3 2
之后,我读了两行。所以它就像那个块结束了。
但是,行4 3
出现了。这意味着我必须做与第一个块完全相同的事情。所以,从4 3
行,我现在知道我必须阅读并保存接下来的3行。意思是行
1 2
2 3
3 4
为此我一直站在山上,似乎找不到任何可能的解决方案
答案 0 :(得分:1)
当你遇到这样的问题时,首先考虑结构是有用的。这是一个简单伪代码的方法,主要算法可以帮助您入门。除非您提供代码并且存在问题,否则人们无法提供帮助。
declare line buffer array
while (read a line into buffer == succeeds) {
scan buffer for two numbers (m, n)
loop how many times? {
read a line into buffer
scan buffer for next two numbers (x, y)
}
}
将其翻译成C应该不会太难。然后您可以将其展开以存储您扫描的数字,计算行数或其他任何内容。
一旦你有了一些代码,如果它不起作用而且你无法弄清楚出了什么问题,你会得到很多帮助。