2015-10-14 52 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