2015-10-14 54 views
2

我在编程方面很新手,我想打印出一个特定的输入格式,如下所示。读取一个特定的输入并以相同的格式打印

5 5 
1 
2 2 0 1 

5 5 
1 
2 2 0 1 

顶部部分是输入参数和下面部分是相同的,以及是输出。如何格式化我的scanfprintf以实现此格式?这实际上是一个二维数组问题,但我相信这部分我不需要二维数组呢?至于第一阶段,我只是想打印出这种格式的输入。

回答

5

简单的答案是不使用scanf,而是使用fgets来代替整行。

如果您随后需要使用该行中的单独值,则可以使用sscanfstrtok来获取它们。

+0

嗨,感谢您的评论,但我没有学到所有你提到的东西。如果我仅限于scanf,我该怎么做? – Morde

+1

@Morde'scanf'并不是真的被设计来实现它,但你也许可以使用''%[^“'格式(参见例如[this'scanf'和family reference](http://en.cppreference.com)/W/C/IO /的fscanf))。 –

+1

@Morde,如果你真的被限制为只是'scanf',我的回答给出了一个(非常丑陋的)方法。但是,老实说,如果你受到这种限制,我会发现如何不受约束! – paxdiablo