3 回答

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
你這個(gè)題目出得還可以啊,還給了你很多提示啊。
我給一個(gè)思路:
你一開(kāi)始是不知道有多少個(gè)輸入數(shù)據(jù),但每組數(shù)據(jù)肯定是一個(gè)數(shù)字 N 和 N 個(gè)數(shù)字 Mi,你接收了第一個(gè)N之后就知道后面還有N個(gè)數(shù),然后把這N個(gè)數(shù)字依次接收并累加,這個(gè)結(jié)果就是這組數(shù)據(jù)的總和。?
你可以先把這個(gè)數(shù)保存在一個(gè)數(shù)組里。雖然你不知道還會(huì)有多少組數(shù),處理這個(gè)問(wèn)題的辦法有兩個(gè):
如果你想省事,就把這個(gè)數(shù)組定義得足夠大(別超過(guò)內(nèi)存限制就可以)
麻煩一些的做法是使用動(dòng)態(tài)數(shù)組:先申請(qǐng)一段內(nèi)存,向其中保存數(shù)據(jù)。當(dāng)發(fā)現(xiàn)這段內(nèi)存不夠用了就再申請(qǐng)更大的一段內(nèi)存,然后先把老內(nèi)存中已保存好的數(shù)據(jù)拷貝過(guò)來(lái),再繼續(xù)向其中存儲(chǔ)數(shù)據(jù)... ?這個(gè)方法的好處是你可以將內(nèi)存的使用量控制在盡可能低的水平
這樣一組組地處理數(shù)據(jù),直到你讀到下一個(gè) N 是0,則輸入結(jié)束,再一并將前面數(shù)組中保存好的結(jié)果打印出來(lái),記得每打一個(gè)結(jié)果再跟著輸出兩個(gè)'\n'(這不就空了一行嘛)。
- 3 回答
- 0 關(guān)注
- 1628 瀏覽
添加回答
舉報(bào)