onemoo
你这个题目出得还可以啊,还给了你很多提示啊。我给一个思路:你一开始是不知道有多少个输入数据,但每组数据肯定是一个数字 N 和 N 个数字 Mi,你接收了第一个N之后就知道后面还有N个数,然后把这N个数字依次接收并累加,这个结果就是这组数据的总和。 你可以先把这个数保存在一个数组里。虽然你不知道还会有多少组数,处理这个问题的办法有两个:如果你想省事,就把这个数组定义得足够大(别超过内存限制就可以)麻烦一些的做法是使用动态数组:先申请一段内存,向其中保存数据。当发现这段内存不够用了就再申请更大的一段内存,然后先把老内存中已保存好的数据拷贝过来,再继续向其中存储数据... 这个方法的好处是你可以将内存的使用量控制在尽可能低的水平这样一组组地处理数据,直到你读到下一个 N 是0,则输入结束,再一并将前面数组中保存好的结果打印出来,记得每打一个结果再跟着输出两个'\n'(这不就空了一行嘛)。